diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/mvme88k/mvme88k/pmap.c | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/sys/arch/mvme88k/mvme88k/pmap.c b/sys/arch/mvme88k/mvme88k/pmap.c index 7db928199f2..9dea4e38849 100644 --- a/sys/arch/mvme88k/mvme88k/pmap.c +++ b/sys/arch/mvme88k/mvme88k/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.86 2003/10/13 18:45:17 miod Exp $ */ +/* $OpenBSD: pmap.c,v 1.87 2003/10/16 23:04:09 miod Exp $ */ /* * Copyright (c) 2001, 2002, 2003 Miodrag Vallat * Copyright (c) 1998-2001 Steve Murphree, Jr. @@ -254,7 +254,6 @@ boolean_t pmap_testbit(struct vm_page *, int); * quick PTE field checking macros */ #define pmap_pte_w(pte) (*(pte) & PG_W) -#define pmap_pte_m(pte) (*(pte) & PG_M) #define pmap_pte_prot(pte) (*(pte) & PG_PROT) #define pmap_pte_w_chg(pte, nw) ((nw) ^ pmap_pte_w(pte)) @@ -1400,6 +1399,15 @@ pmap_remove_range(pmap_t pmap, vaddr_t s, vaddr_t e) u_int users; boolean_t kflush; +#ifdef DEBUG + if ((pmap_con_dbg & (CD_RM | CD_NORM)) == (CD_RM | CD_NORM)) { + if (pmap == kernel_pmap) + printf("(pmap_remove: %x) pmap kernel s %x e %x\n", curproc, s, e); + else + printf("(pmap_remove: %x) pmap %x s %x e %x\n", curproc, pmap, s, e); + } +#endif + /* * pmap has been locked by the caller. */ @@ -1532,11 +1540,6 @@ pmap_remove(pmap_t pmap, vaddr_t s, vaddr_t e) if (pmap == PMAP_NULL) return; -#ifdef DEBUG - if ((pmap_con_dbg & (CD_RM | CD_NORM)) == (CD_RM | CD_NORM)) - printf("(pmap_remove: %x) map %x s %x e %x\n", curproc, pmap, s, e); -#endif - #ifdef DIAGNOSTIC if (s >= e) panic("pmap_remove: start greater than end address"); @@ -1598,6 +1601,11 @@ pmap_remove_all(struct vm_page *pg) return; } +#ifdef DEBUG + if (pmap_con_dbg & CD_RMAL) + printf("(pmap_remove_all: %x) va %x\n", curproc, pg, pg_to_pvh(pg)->pv_va); +#endif + SPLVM(spl); /* * Walk down PV list, removing all mappings. @@ -1948,6 +1956,10 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags) * at this address. */ old_pa = ptoa(PG_PFNUM(*pte)); +#ifdef DEBUG + if ((pmap_con_dbg & (CD_ENT | CD_NORM)) == (CD_ENT | CD_NORM)) + printf("(pmap_enter) old_pa %x pte %x\n", old_pa, *pte); +#endif if (old_pa == pa) { if (pmap == kernel_pmap) { kflush = TRUE; @@ -1985,6 +1997,10 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags) template |= (invalidate_pte(pte) & (PG_M | PG_U)); *pte = template | ap | trunc_page(pa); flush_atc_entry(users, va, kflush); +#ifdef DEBUG + if ((pmap_con_dbg & (CD_ENT | CD_NORM)) == (CD_ENT | CD_NORM)) + printf("(pmap_enter) update pte to %x\n", *pte); +#endif } } else { /* if ( pa == old_pa) */ @@ -2088,6 +2104,10 @@ pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, int flags) template |= PG_U; *pte = template | ap | trunc_page(pa); +#ifdef DEBUG + if ((pmap_con_dbg & (CD_ENT | CD_NORM)) == (CD_ENT | CD_NORM)) + printf("(pmap_enter) set pte to %x\n", *pte); +#endif } /* if (pa == old_pa) ... else */ |