diff options
Diffstat (limited to 'sys/arch/hppa')
-rw-r--r-- | sys/arch/hppa/hppa/pmap.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/arch/hppa/hppa/pmap.c b/sys/arch/hppa/hppa/pmap.c index 6653a461404..797e4571a73 100644 --- a/sys/arch/hppa/hppa/pmap.c +++ b/sys/arch/hppa/hppa/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.46 2001/07/25 13:25:31 art Exp $ */ +/* $OpenBSD: pmap.c,v 1.47 2001/11/06 20:57:21 mickey Exp $ */ /* * Copyright (c) 1998-2001 Michael Shalayeff @@ -209,6 +209,7 @@ void pmap_hptdump __P((void)); u_int kern_prot[8], user_prot[8]; +void pmap_pinit __P((pmap_t)); #define pmap_sid(pmap, va) \ (((va & 0xc0000000) != 0xc0000000)? pmap->pmap_space : HPPA_SID_KERNEL) @@ -1009,7 +1010,7 @@ pmap_enter(pmap, va, pa, prot, flags) va = hppa_trunc_page(va); space = pmap_sid(pmap, va); tlbpage = tlbbtop(pa); - tlbprot = TLB_REF | pmap_prot(pmap, prot) | pmap->pmap_pid; + tlbprot = TLB_UNCACHEABLE | TLB_REF | pmap_prot(pmap, prot) | pmap->pmap_pid; if (flags & VM_PROT_WRITE) tlbprot |= TLB_DIRTY; @@ -1599,7 +1600,7 @@ pmap_kenter_pa(va, pa, prot) pv->pv_pmap = pmap_kernel(); pv->pv_space = HPPA_SID_KERNEL; pv->pv_tlbpage = tlbbtop(pa); - pv->pv_tlbprot = TLB_WIRED | TLB_REF | TLB_DIRTY | + pv->pv_tlbprot = TLB_UNCACHEABLE | TLB_WIRED | TLB_REF | TLB_DIRTY | pmap_prot(pmap_kernel(), prot) | HPPA_PID_KERNEL | ((pa & HPPA_IOSPACE) == HPPA_IOSPACE? TLB_UNCACHEABLE : 0); pmap_enter_va(pv); |