svn commit: r189107 - stable/7/sys/amd64/amd64
John Baldwin
jhb at FreeBSD.org
Fri Feb 27 07:25:49 PST 2009
Author: jhb
Date: Fri Feb 27 15:25:47 2009
New Revision: 189107
URL: http://svn.freebsd.org/changeset/base/189107
Log:
Catch up to the 6GB KVA changes. The original superpages patches on 7
were tested prior to the MFC of the 6GB KVA changes, and I failed to do
an extra sanity check yesterday. This should fix the pmap_init() panics.
Pointy hat to: jhb
Modified:
stable/7/sys/amd64/amd64/pmap.c
Modified: stable/7/sys/amd64/amd64/pmap.c
==============================================================================
--- stable/7/sys/amd64/amd64/pmap.c Fri Feb 27 14:12:05 2009 (r189106)
+++ stable/7/sys/amd64/amd64/pmap.c Fri Feb 27 15:25:47 2009 (r189107)
@@ -631,15 +631,17 @@ pmap_init(void)
* Initialize the vm page array entries for the kernel pmap's
* page table pages.
*/
- pd = pmap_pde(kernel_pmap, VM_MIN_KERNEL_ADDRESS);
+ pd = pmap_pde(kernel_pmap, KERNBASE);
for (i = 0; i < NKPT; i++) {
if ((pd[i] & (PG_PS | PG_V)) == (PG_PS | PG_V))
continue;
+ KASSERT((pd[i] & PG_V) != 0,
+ ("pmap_init: page table page is missing"));
mpte = PHYS_TO_VM_PAGE(pd[i] & PG_FRAME);
KASSERT(mpte >= vm_page_array &&
mpte < &vm_page_array[vm_page_array_size],
("pmap_init: page table page is out of range"));
- mpte->pindex = pmap_pde_pindex(VM_MIN_KERNEL_ADDRESS) + i;
+ mpte->pindex = pmap_pde_pindex(KERNBASE) + i;
mpte->phys_addr = pd[i] & PG_FRAME;
}
More information about the svn-src-stable-7
mailing list