summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2009-11-11 18:09:56 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2009-11-11 18:09:56 +0000
commita1b094f72c24f7af79beb13eeaeae840f6ab320b (patch)
tree413cda0cb9947969241f46030896540227f43a41 /sys/arch
parent69a680c1fa2425df8717eff32ae7e683e71ed308 (diff)
add a icache flush which appears to make the machines even more stable
(no crashes in nearly forever) ok kettenis
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/hppa/hppa/pmap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/hppa/hppa/pmap.c b/sys/arch/hppa/hppa/pmap.c
index c2257db6066..9b282abdd3d 100644
--- a/sys/arch/hppa/hppa/pmap.c
+++ b/sys/arch/hppa/hppa/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.145 2009/08/13 16:31:11 deraadt Exp $ */
+/* $OpenBSD: pmap.c,v 1.146 2009/11/11 18:09:55 deraadt Exp $ */
/*
* Copyright (c) 1998-2004 Michael Shalayeff
@@ -1171,6 +1171,8 @@ pmap_flush_page(struct vm_page *pg, int purge)
else
fdcache(pve->pv_pmap->pm_space, pve->pv_va, PAGE_SIZE);
pdtlb(pve->pv_pmap->pm_space, pve->pv_va);
+ /* XXX Conditionalize ficache on PTE_PROT(TLB_EXECUTE)? */
+ ficache(pve->pv_pmap->pm_space, pve->pv_va, PAGE_SIZE);
pitlb(pve->pv_pmap->pm_space, pve->pv_va);
}
simple_unlock(&pg->mdpage.pvh_lock);