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;
        }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to