Date: Wed, 01 Dec 2010 00:03:04 -0600 From: Alan Cox <alc@rice.edu> To: mips@freebsd.org Cc: Alan Cox <alc@cs.rice.edu> Subject: vm_page_startup() Message-ID: <4CF5E518.20508@rice.edu>
next in thread | raw e-mail | index | archive | help
Given this bit of code in the MIPS pmap: vm_offset_t pmap_map(vm_offset_t *virt, vm_offset_t start, vm_offset_t end, int prot) { vm_offset_t va, sva; if (MIPS_DIRECT_MAPPABLE(end)) return (MIPS_PHYS_TO_DIRECT(start)); The following in vm_page_startup() can apply to MIPS (as well as amd64): #ifdef __amd64__ /* * pmap_map on amd64 comes out of the direct-map, not kvm like i386, * so the pages must be tracked for a crashdump to include this data. * This includes the vm_page_array and the early UMA bootstrap pages. */ for (pa = new_end; pa < phys_avail[biggestone + 1]; pa += PAGE_SIZE) dump_add_page(pa); #endif Even if a particular MIPS-based machine didn't wind up using the direct map for the pmap_map calls in vm_page_startup() there would be no harm in having called dump_add_page(). On the other hand, if you don't call dump_add_page() when the direct map is used, you're crash dump will be missing some kernel data structures. Regards, Alan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CF5E518.20508>