summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcognet <cognet@FreeBSD.org>2010-06-15 22:16:02 +0000
committercognet <cognet@FreeBSD.org>2010-06-15 22:16:02 +0000
commit4caf6504e1f29021a200d7c1412890487e20a96b (patch)
tree594c4753fecc03ebcf37bc0232b075ea5bc6f2a8
parent889674afbf30cbc0a5f42a4c70ab6950101db88b (diff)
downloadFreeBSD-src-4caf6504e1f29021a200d7c1412890487e20a96b.zip
FreeBSD-src-4caf6504e1f29021a200d7c1412890487e20a96b.tar.gz
Turn off cache if there's more than one kernel mapping, and one is writable.
Submitted by: Mark Tinguely
-rw-r--r--sys/arm/arm/pmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm/arm/pmap.c b/sys/arm/arm/pmap.c
index da56775..3bcbbe0 100644
--- a/sys/arm/arm/pmap.c
+++ b/sys/arm/arm/pmap.c
@@ -1368,7 +1368,7 @@ pmap_fix_cache(struct vm_page *pg, pmap_t pm, vm_offset_t va)
* check for kernel uncachable conditions
* kernel writable or kernel readable with writable user entry
*/
- if ((kwritable && entries) ||
+ if ((kwritable && (entries || kentries > 1)) ||
(kwritable > 1) ||
((kwritable != writable) && kentries &&
(pv->pv_pmap == pmap_kernel() ||
OpenPOWER on IntegriCloud