summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-04-27 18:17:20 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-04-27 18:17:20 +0000
commit95f9e80cc362acc476f68125b00602e70ad0760e (patch)
tree024758031639c072f43103a3a6f5dde941a2efac /sys
parent4c1e56df404c7995e6431f0761c67d8f5d15d549 (diff)
In pmap_enter_pv(), when uncaching a page due to a VAC conflict, only flush
the existing cached va range, instead of the whole cache. Tested on rm5200 and r12k.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/mips64/mips64/pmap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/mips64/mips64/pmap.c b/sys/arch/mips64/mips64/pmap.c
index afac11565f0..c1d3657ba4f 100644
--- a/sys/arch/mips64/mips64/pmap.c
+++ b/sys/arch/mips64/mips64/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.25 2007/04/27 18:14:13 miod Exp $ */
+/* $OpenBSD: pmap.c,v 1.26 2007/04/27 18:17:19 miod Exp $ */
/*
* Copyright (c) 2001-2004 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -1237,7 +1237,7 @@ pmap_enter_pv(pmap_t pmap, vaddr_t va, vm_page_t pg, u_int *npte)
VM_PAGE_TO_PHYS(pg), npv->pv_va, va);
#endif
pmap_page_cache(pg, PV_UNCACHED);
- Mips_SyncCache();
+ Mips_SyncDCachePage(pv->pv_va);
*npte = (*npte & ~PG_CACHEMODE) | PG_UNCACHED;
}
}