Index: zaurus/machdep.c =================================================================== RCS file: /cvsroot/src/sys/arch/zaurus/zaurus/machdep.c,v retrieving revision 1.30 diff -u -p -r1.30 machdep.c --- zaurus/machdep.c 29 Jan 2012 10:12:42 -0000 1.30 +++ zaurus/machdep.c 10 Feb 2012 00:59:21 -0000 @@ -210,8 +210,8 @@ char *boot_file = NULL; char *boot_args = NULL; paddr_t physical_start; -paddr_t physical_freestart; -paddr_t physical_freeend; +paddr_t physical_freestart, physical_freestart0; +paddr_t physical_freeend, physical_freeend0; paddr_t physical_end; u_int free_pages; @@ -1021,6 +1021,9 @@ initarm(void *arg) { extern char _end[]; + physical_freestart0 = physical_freestart; + physical_freeend0 = physical_freeend; + physical_freestart = physical_start + ((((uintptr_t) _end + PGOFSET) & ~PGOFSET) - KERNEL_BASE); physical_freeend = physical_end; @@ -1098,6 +1101,9 @@ initarm(void *arg) printf("page "); #endif uvm_setpagesize(); /* initialize PAGE_SIZE-dependent variables */ + uvm_page_physload(atop(physical_freestart0), atop(physical_freeend0), + atop(physical_freestart0), atop(physical_freeend0), + VM_FREELIST_DEFAULT); uvm_page_physload(atop(physical_freestart), atop(physical_freeend), atop(physical_freestart), atop(physical_freeend), VM_FREELIST_DEFAULT);