PERFORCE change 133451 for review

Kip Macy kmacy at FreeBSD.org
Wed Jan 16 20:24:21 PST 2008


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

Change 133451 by kmacy at pandemonium:kmacy:xen31 on 2008/01/17 04:23:48

	clear PMAP2 while holding the PMAP2mutex

Affected files ...

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

Differences ...

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

@@ -950,8 +950,10 @@
 pmap_pte_release(pt_entry_t *pte)
 {
 
-	if ((pt_entry_t *)((vm_offset_t)pte & ~PAGE_MASK) == PADDR2)
+	if ((pt_entry_t *)((vm_offset_t)pte & ~PAGE_MASK) == PADDR2) {
+		*PMAP2 = 0;
 		mtx_unlock(&PMAP2mutex);
+	}
 }
 
 static __inline void
@@ -1034,9 +1036,6 @@
 		pte = pmap_pte(pmap, va);
 		rtval = (PT_GET(pte) & PG_FRAME) | (va & PAGE_MASK);
 		pmap_pte_release(pte);
-
-		if (*PMAP2)
-			*PMAP2 = 0;
 	}
 	PMAP_UNLOCK(pmap);
 	return (rtval);
@@ -1066,10 +1065,6 @@
 		pte = pmap_pte(pmap, va);
 		rtval = (*pte & PG_FRAME) | (va & PAGE_MASK);
 		pmap_pte_release(pte);
-#ifdef XEN
-		if (*PMAP2)
-			*PMAP2 = 0;
-#endif
 	}
 	PMAP_UNLOCK(pmap);
 	return (rtval);
@@ -2941,8 +2936,6 @@
 	 */
 	pmap_pte_set_w(pte, wired);
 	pmap_pte_release(pte);
-	if (*PMAP2)
-		*PMAP2 = 0;
 	PMAP_UNLOCK(pmap);
 }
 
@@ -3444,8 +3437,6 @@
 		pmap_pte_release(pte);
 	}
 	PT_UPDATES_FLUSH();
-	if (*PMAP2)
-		*PMAP2 = 0;
 }
 
 void
@@ -3460,8 +3451,6 @@
 		pmap_pte_release(pte);
 	}
 	PT_UPDATES_FLUSH();
-	if (*PMAP2)
-		*PMAP2 = 0;
 }
 
 /*
@@ -3779,8 +3768,6 @@
 	pte = (ptep != NULL) ? PT_GET(ptep) : 0;
 	pmap_pte_release(ptep);
 	PMAP_UNLOCK(pmap);
-	if (*PMAP2)
-		*PMAP2 = 0;
 	if (pte != 0) {
 		vm_paddr_t pa;
 


More information about the p4-projects mailing list