Index: arch/x68k/x68k/pmap_bootstrap.c =================================================================== RCS file: /cvsroot/src/sys/arch/x68k/x68k/pmap_bootstrap.c,v retrieving revision 1.58 diff -u -p -r1.58 pmap_bootstrap.c --- arch/x68k/x68k/pmap_bootstrap.c 10 Feb 2012 06:28:39 -0000 1.58 +++ arch/x68k/x68k/pmap_bootstrap.c 21 Feb 2012 11:31:54 -0000 @@ -39,6 +39,7 @@ __KERNEL_RCSID(0, "$NetBSD: pmap_bootstrap.c,v 1.58 2012/02/10 06:28:39 mhitch Exp $"); #include "opt_m68k_arch.h" +#include "opt_extmem.h" #include #include @@ -124,6 +125,19 @@ pmap_bootstrap(paddr_t nextpa, paddr_t f kptpa = nextpa; nptpages = RELOC(Sysptsize, int) + howmany(RELOC(physmem, int), NPTEPG) + (IIOMAPSIZE + NPTEPG - 1) / NPTEPG; +#ifdef EXTENDED_MEMORY + /* + * Current supported maximum EXTENDED_MEMORY is 128MB on 060turbo. + */ +#define MAX_EXTENDED_MEMORY (128 * 1024 * 1024) + nptpages += howmany(btoc(MAX_EXTENDED_MEMORY), NPTEPG); + + /* + * mem_exist() in machdep.c needs two extra VA pages before pmap_init() + * to probe >16MB memory. + */ + nptpages += 1; +#endif nextpa += nptpages * PAGE_SIZE; /*