summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2009-11-11 18:09:55 +0000
committerderaadt <deraadt@openbsd.org>2009-11-11 18:09:55 +0000
commite12285df6a81690e31176792e1e1823e681bf99b (patch)
tree4c3a350abb0dcefab791f36feadee530fb147c2e
parentmemory leak with #ifdef SMALL, found by parfait (diff)
downloadwireguard-openbsd-e12285df6a81690e31176792e1e1823e681bf99b.tar.xz
wireguard-openbsd-e12285df6a81690e31176792e1e1823e681bf99b.zip
add a icache flush which appears to make the machines even more stable
(no crashes in nearly forever) ok kettenis
-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);