diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2009-07-24 21:57:26 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2009-07-24 21:57:26 +0000 |
commit | 1745ecaa844f8c7691fa991d914864c9a6b6d1af (patch) | |
tree | 729005608ee57abab2a596049bbc2edd9fe18fd6 /sys | |
parent | d8dc71444a29ce95db2f36d4cbb04478799c2195 (diff) |
in pmap_kenter_pa(), flush the old pte before installing the new one.
ok kettenis
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/hppa/hppa/pmap.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/hppa/hppa/pmap.c b/sys/arch/hppa/hppa/pmap.c index 34e5652adae..71fb2fc9446 100644 --- a/sys/arch/hppa/hppa/pmap.c +++ b/sys/arch/hppa/hppa/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.137 2009/06/16 00:11:29 oga Exp $ */ +/* $OpenBSD: pmap.c,v 1.138 2009/07/24 21:57:25 deraadt Exp $ */ /* * Copyright (c) 1998-2004 Michael Shalayeff @@ -1232,11 +1232,11 @@ pmap_kenter_pa(va, pa, prot) pmap_prot(pmap_kernel(), prot)); if (pa >= HPPA_IOBEGIN) pte |= PTE_PROT(TLB_UNCACHABLE); + if (opte) + pmap_pte_flush(pmap_kernel(), va, opte); pmap_pte_set(pde, va, pte); pmap_kernel()->pm_stats.wired_count++; pmap_kernel()->pm_stats.resident_count++; - if (opte) - pmap_pte_flush(pmap_kernel(), va, opte); #ifdef PMAPDEBUG { |