Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Feb 2009 15:25:47 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r189107 - stable/7/sys/amd64/amd64
Message-ID:  <200902271525.n1RFPlqi073981@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902271525.n1RFPlqi073981>