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