PERFORCE change 133613 for review

Kip Macy kmacy at FreeBSD.org
Fri Jan 18 15:05:12 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=133613

Change 133613 by kmacy at pandemonium:kmacy:xen31 on 2008/01/18 23:04:32

	implement pmap_growkernel

Affected files ...

.. //depot/projects/xen31/sys/i386/xen/pmap.c#24 edit

Differences ...

==== //depot/projects/xen31/sys/i386/xen/pmap.c#24 (text+ko) ====

@@ -1767,7 +1767,6 @@
 	vm_paddr_t ptppaddr;
 	vm_page_t nkpg;
 	pd_entry_t newpdir;
-	pt_entry_t *pde;
 
 	mtx_assert(&kernel_map->system_mtx, MA_OWNED);
 	if (kernel_vm_end == 0) {
@@ -1808,19 +1807,12 @@
 		pmap_zero_page(nkpg);
 		ptppaddr = VM_PAGE_TO_PHYS(nkpg);
 		newpdir = (pd_entry_t) (ptppaddr | PG_V | PG_RW | PG_A | PG_M);
-#ifdef notyet		
-		PD_SET_VA(kernel_pmap, &pdir_pde(kernel_pmap->pm_pdir, kernel_vm_end), newpdir, TRUE);
-#else
-		panic("implement me");
-#endif		
+		PD_SET_VA(kernel_pmap, (kernel_vm_end >> PDRSHIFT), newpdir, TRUE);
 		
 		mtx_lock_spin(&allpmaps_lock);
-		LIST_FOREACH(pmap, &allpmaps, pm_list) {
-			pde = pmap_pde(pmap, kernel_vm_end);
-#ifdef notyet			
-			PD_SET_VA(pmap, pde, newpdir, FALSE);
-#endif			
-		}
+		LIST_FOREACH(pmap, &allpmaps, pm_list)
+			PD_SET_VA(pmap, (kernel_vm_end >> PDRSHIFT), newpdir, FALSE);
+
 		PT_UPDATES_FLUSH();
 		mtx_unlock_spin(&allpmaps_lock);
 		kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);


More information about the p4-projects mailing list