PERFORCE change 73407 for review

John-Mark Gurney jmg at FreeBSD.org
Thu Mar 17 15:25:36 PST 2005


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

Change 73407 by jmg at jmg_carbon on 2005/03/17 23:24:35

	pull in pmap.c v1.26..

Affected files ...

.. //depot/projects/arm/src/sys/arm/arm/pmap.c#6 integrate

Differences ...

==== //depot/projects/arm/src/sys/arm/arm/pmap.c#6 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.25 2005/03/06 21:10:31 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.26 2005/03/16 23:56:29 cognet Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -2896,7 +2896,16 @@
 	return (sva);
 }
 
+static void
+pmap_wb_page(vm_page_t m)
+{
+	struct pv_entry *pv;
 
+	TAILQ_FOREACH(pv, &m->md.pv_list, pv_list)
+		pmap_dcache_wb_range(pv->pv_pmap, pv->pv_va, PAGE_SIZE, FALSE,
+		    (pv->pv_flags & PVF_WRITE) == 0);
+}
+
 /*
  * Add a list of wired pages to the kva
  * this routine is only used for temporary
@@ -2911,11 +2920,11 @@
 	int i;
 
 	for (i = 0; i < count; i++) {
+		pmap_wb_page(m[i]);
 		pmap_kenter_internal(va, VM_PAGE_TO_PHYS(m[i]), 
 		    KENTER_CACHE);
 		va += PAGE_SIZE;
 	}
-	cpu_dcache_wbinv_all(); /* XXX: shouldn't be needed */
 }
 
 


More information about the p4-projects mailing list