diff options
author | 2009-11-11 18:09:55 +0000 | |
---|---|---|
committer | 2009-11-11 18:09:55 +0000 | |
commit | e12285df6a81690e31176792e1e1823e681bf99b (patch) | |
tree | 4c3a350abb0dcefab791f36feadee530fb147c2e | |
parent | memory leak with #ifdef SMALL, found by parfait (diff) | |
download | wireguard-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.c | 4 |
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); |