From 80e50e26a899cd1bf594e5d29648e6eb1c0f3a2d Mon Sep 17 00:00:00 2001 From: thorpej Date: Sat, 19 Dec 1998 23:51:47 +0000 Subject: [PATCH] Unclutter a bit. Use a PMAP_DPRINTF() macro where possible, getting rid of loads of #ifdef DEBUG ... stuff. --- sys/arch/hp300/hp300/pmap.c | 357 ++++++++++++++---------------------- 1 file changed, 142 insertions(+), 215 deletions(-) diff --git a/sys/arch/hp300/hp300/pmap.c b/sys/arch/hp300/hp300/pmap.c index 07054f69f870..511b5de4b8c4 100644 --- a/sys/arch/hp300/hp300/pmap.c +++ b/sys/arch/hp300/hp300/pmap.c @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.55 1998/12/19 23:21:51 thorpej Exp $ */ +/* $NetBSD: pmap.c,v 1.56 1998/12/19 23:51:47 thorpej Exp $ */ /* * Copyright (c) 1991, 1993 @@ -118,8 +118,6 @@ #include #ifdef DEBUG -int debugmap = 0; -int pmapdebug = 0x2000; #define PDB_FOLLOW 0x0001 #define PDB_INIT 0x0002 #define PDB_ENTER 0x0004 @@ -136,18 +134,26 @@ int pmapdebug = 0x2000; #define PDB_WIRING 0x4000 #define PDB_PVDUMP 0x8000 +int debugmap = 0; +int pmapdebug = PDB_PARANOIA; + +#define PMAP_DPRINTF(l, x) if (pmapdebug & (l)) printf x + #ifdef M68K_MMU_HP -int pmapvacflush = 0; #define PVF_ENTER 0x01 #define PVF_REMOVE 0x02 #define PVF_PROTECT 0x04 #define PVF_TOTAL 0x80 + +int pmapvacflush = 0; #endif #if defined(M68040) int dowriteback = 1; /* 68040: enable writeback caching */ int dokwriteback = 1; /* 68040: enable writeback caching of kernel AS */ #endif +#else /* ! DEBUG */ +#define PMAP_DPRINTF(l, x) /* nothing */ #endif /* DEBUG */ /* @@ -329,10 +335,8 @@ pmap_init() int npages; int bank; -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_init()\n"); -#endif + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_init()\n")); + /* * Now that kernel map has been allocated, we can mark as * unavailable regions which we have mapped in pmap_bootstrap(). @@ -380,14 +384,12 @@ bogons: panic("pmap_init: bogons in the VM system!\n"); #endif /* UVM */ -#ifdef DEBUG - if (pmapdebug & PDB_INIT) { - printf("pmap_init: Sysseg %p, Sysmap %p, Sysptmap %p\n", - Sysseg, Sysmap, Sysptmap); - printf(" pstart %lx, pend %lx, vstart %lx, vend %lx\n", - avail_start, avail_end, virtual_avail, virtual_end); - } -#endif + PMAP_DPRINTF(PDB_INIT, + ("pmap_init: Sysseg %p, Sysmap %p, Sysptmap %p\n", + Sysseg, Sysmap, Sysptmap)); + PMAP_DPRINTF(PDB_INIT, + (" pstart %lx, pend %lx, vstart %lx, vend %lx\n", + avail_start, avail_end, virtual_avail, virtual_end)); /* * Allocate memory for random pmap data structures. Includes the @@ -416,13 +418,10 @@ bogons: pmap_attributes = (char *) addr; -#ifdef DEBUG - if (pmapdebug & PDB_INIT) - printf("pmap_init: %lx bytes: page_cnt %x s0 %p(%p) " - "tbl %p atr %p\n", - s, page_cnt, Segtabzero, Segtabzeropa, - pv_table, pmap_attributes); -#endif + PMAP_DPRINTF(PDB_INIT, ("pmap_init: %lx bytes: page_cnt %x s0 %p(%p) " + "tbl %p atr %p\n", + s, page_cnt, Segtabzero, Segtabzeropa, + pv_table, pmap_attributes)); /* * Now that the pv and attribute tables have been allocated, @@ -489,11 +488,9 @@ bogons: kpt_pages->kpt_va = addr2; kpt_pages->kpt_pa = pmap_extract(pmap_kernel(), addr2); } while (addr != addr2); -#ifdef DEBUG - if (pmapdebug & PDB_INIT) - printf("pmap_init: KPT: %ld pages from %lx to %lx\n", - atop(s), addr, addr + s); -#endif + + PMAP_DPRINTF(PDB_INIT, ("pmap_init: KPT: %ld pages from %lx to %lx\n", + atop(s), addr, addr + s)); #if defined(UVM) /* @@ -551,10 +548,9 @@ bogons: rv = vm_map_submap(kernel_map, addr, addr2, pt_map); if (rv != KERN_SUCCESS) panic("pmap_init: cannot map range to pt_map"); -#ifdef DEBUG - if (pmapdebug & PDB_INIT) - printf("pmap_init: pt_map [%lx - %lx)\n", addr, addr2); -#endif + + PMAP_DPRINTF(PDB_INIT, + /* ( */ ("pmap_init: pt_map [%lx - %lx)\n", addr, addr2)); #endif /* UVM */ #if defined(M68040) @@ -713,10 +709,8 @@ pmap_map(va, spa, epa, prot) int prot; { -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_map(%lx, %lx, %lx, %x)\n", va, spa, epa, prot); -#endif + PMAP_DPRINTF(PDB_FOLLOW, + ("pmap_map(%lx, %lx, %lx, %x)\n", va, spa, epa, prot)); while (spa < epa) { pmap_enter(pmap_kernel(), va, spa, prot, FALSE); @@ -744,10 +738,8 @@ pmap_create(size) { pmap_t pmap; -#ifdef DEBUG - if (pmapdebug & (PDB_FOLLOW|PDB_CREATE)) - printf("pmap_create(%lx)\n", size); -#endif + PMAP_DPRINTF(PDB_FOLLOW|PDB_CREATE, + ("pmap_create(%lx)\n", size)); /* * Software use map does not need a pmap @@ -775,10 +767,8 @@ pmap_pinit(pmap) struct pmap *pmap; { -#ifdef DEBUG - if (pmapdebug & (PDB_FOLLOW|PDB_CREATE)) - printf("pmap_pinit(%p)\n", pmap); -#endif + PMAP_DPRINTF(PDB_FOLLOW|PDB_CREATE, + ("pmap_pinit(%p)\n", pmap)); /* * No need to allocate page table space yet but we do need a @@ -810,10 +800,7 @@ pmap_destroy(pmap) if (pmap == NULL) return; -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_destroy(%p)\n", pmap); -#endif + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_destroy(%p)\n", pmap)); simple_lock(&pmap->pm_lock); count = --pmap->pm_count; @@ -834,10 +821,7 @@ pmap_release(pmap) struct pmap *pmap; { -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_release(%p)\n", pmap); -#endif + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_release(%p)\n", pmap)); #ifdef notdef /* DIAGNOSTIC */ /* count would be 0 from pmap_destroy... */ @@ -875,10 +859,7 @@ pmap_reference(pmap) if (pmap == NULL) return; -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_reference(%p)\n", pmap); -#endif + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_reference(%p)\n", pmap)); simple_lock(&pmap->pm_lock); pmap->pm_count++; @@ -894,10 +875,8 @@ pmap_activate(p) { pmap_t pmap = p->p_vmspace->vm_map.pmap; -#ifdef DEBUG - if (pmapdebug & (PDB_FOLLOW|PDB_SEGTAB)) - printf("pmap_activate(%p)\n", p); -#endif + PMAP_DPRINTF(PDB_FOLLOW|PDB_SEGTAB, + ("pmap_activate(%p)\n", p)); PMAP_ACTIVATE(pmap, p == curproc); } @@ -927,10 +906,8 @@ pmap_remove(pmap, sva, eva) boolean_t firstpage, needcflush; int flags; -#ifdef DEBUG - if (pmapdebug & (PDB_FOLLOW|PDB_REMOVE|PDB_PROTECT)) - printf("pmap_remove(%p, %lx, %lx)\n", pmap, sva, eva); -#endif + PMAP_DPRINTF(PDB_FOLLOW|PDB_REMOVE|PDB_PROTECT, + ("pmap_remove(%p, %lx, %lx)\n", pmap, sva, eva)); if (pmap == NULL) return; @@ -1096,10 +1073,9 @@ pmap_protect(pmap, sva, eva, prot) boolean_t firstpage, needtflush; int isro; -#ifdef DEBUG - if (pmapdebug & (PDB_FOLLOW|PDB_PROTECT)) - printf("pmap_protect(%p, %lx, %lx, %x)\n", pmap, sva, eva, prot); -#endif + PMAP_DPRINTF(PDB_FOLLOW|PDB_PROTECT, + ("pmap_protect(%p, %lx, %lx, %x)\n", + pmap, sva, eva, prot)); if (pmap == NULL) return; @@ -1204,11 +1180,10 @@ pmap_enter(pmap, va, pa, prot, wired) boolean_t cacheable = TRUE; boolean_t checkpv = TRUE; -#ifdef DEBUG - if (pmapdebug & (PDB_FOLLOW|PDB_ENTER)) - printf("pmap_enter(%p, %lx, %lx, %x, %x)\n", - pmap, va, pa, prot, wired); -#endif + PMAP_DPRINTF(PDB_FOLLOW|PDB_ENTER, + ("pmap_enter(%p, %lx, %lx, %x, %x)\n", + pmap, va, pa, prot, wired)); + if (pmap == NULL) return; @@ -1233,10 +1208,8 @@ pmap_enter(pmap, va, pa, prot, wired) pa = m68k_trunc_page(pa); pte = pmap_pte(pmap, va); opa = pmap_pte_pa(pte); -#ifdef DEBUG - if (pmapdebug & PDB_ENTER) - printf("enter: pte %p, *pte %x\n", pte, *pte); -#endif + + PMAP_DPRINTF(PDB_ENTER, ("enter: pte %p, *pte %x\n", pte, *pte)); /* * Mapping has not changed, must be protection or wiring change. @@ -1249,10 +1222,8 @@ pmap_enter(pmap, va, pa, prot, wired) * Hence, if a user page is wired, the PT page will be also. */ if (pmap_pte_w_chg(pte, wired ? PG_W : 0)) { -#ifdef DEBUG - if (pmapdebug & PDB_ENTER) - printf("enter: wiring change -> %x\n", wired); -#endif + PMAP_DPRINTF(PDB_ENTER, + ("enter: wiring change -> %x\n", wired)); if (wired) pmap->pm_stats.wired_count++; else @@ -1272,10 +1243,8 @@ pmap_enter(pmap, va, pa, prot, wired) * handle validating new mapping. */ if (opa) { -#ifdef DEBUG - if (pmapdebug & PDB_ENTER) - printf("enter: removing old mapping %lx\n", va); -#endif + PMAP_DPRINTF(PDB_ENTER, + ("enter: removing old mapping %lx\n", va)); pmap_remove_mapping(pmap, va, pte, PRM_TFLUSH|PRM_CFLUSH); } @@ -1304,11 +1273,9 @@ pmap_enter(pmap, va, pa, prot, wired) pv = pa_to_pvh(pa); s = splimp(); -#ifdef DEBUG - if (pmapdebug & PDB_ENTER) - printf("enter: pv at %p: %lx/%p/%p\n", - pv, pv->pv_va, pv->pv_pmap, pv->pv_next); -#endif + PMAP_DPRINTF(PDB_ENTER, + ("enter: pv at %p: %lx/%p/%p\n", + pv, pv->pv_va, pv->pv_pmap, pv->pv_next)); /* * No entries yet, use header as the first entry */ @@ -1363,11 +1330,9 @@ pmap_enter(pmap, va, pa, prot, wired) */ if (pmap_aliasmask) { if (pv->pv_flags & PV_CI) { -#ifdef DEBUG - if (pmapdebug & PDB_CACHE) - printf("enter: pa %lx already CI'ed\n", - pa); -#endif + PMAP_DPRINTF(PDB_CACHE, + ("enter: pa %lx already CI'ed\n", + pa)); checkpv = cacheable = FALSE; } else if (npv->pv_next || ((pmap == pv->pv_pmap || @@ -1375,11 +1340,9 @@ pmap_enter(pmap, va, pa, prot, wired) pv->pv_pmap == pmap_kernel()) && ((pv->pv_va & pmap_aliasmask) != (va & pmap_aliasmask)))) { -#ifdef DEBUG - if (pmapdebug & PDB_CACHE) - printf("enter: pa %lx CI'ing all\n", - pa); -#endif + PMAP_DPRINTF(PDB_CACHE, + ("enter: pa %lx CI'ing all\n", + pa)); cacheable = FALSE; pv->pv_flags |= PV_CI; } @@ -1427,10 +1390,9 @@ validate: #endif npte |= PG_CCB; #endif -#ifdef DEBUG - if (pmapdebug & PDB_ENTER) - printf("enter: new pte value %x\n", npte); -#endif + + PMAP_DPRINTF(PDB_ENTER, ("enter: new pte value %x\n", npte)); + /* * Remember if this was a wiring-only change. * If so, we need not flush the TLB and caches. @@ -1494,10 +1456,9 @@ pmap_change_wiring(pmap, va, wired) { pt_entry_t *pte; -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_change_wiring(%p, %lx, %x)\n", pmap, va, wired); -#endif + PMAP_DPRINTF(PDB_FOLLOW, + ("pmap_change_wiring(%p, %lx, %x)\n", pmap, va, wired)); + if (pmap == NULL) return; @@ -1550,19 +1511,17 @@ pmap_extract(pmap, va) { paddr_t pa; -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_extract(%p, %lx) -> ", pmap, va); -#endif + PMAP_DPRINTF(PDB_FOLLOW, + ("pmap_extract(%p, %lx) -> ", pmap, va)); + pa = 0; if (pmap && pmap_ste_v(pmap, va)) pa = *pmap_pte(pmap, va); if (pa) pa = (pa & PG_FRAME) | (va & ~PG_FRAME); -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("%lx\n", pa); -#endif + + PMAP_DPRINTF(PDB_FOLLOW, ("%lx\n", pa)); + return (pa); } @@ -1580,11 +1539,10 @@ void pmap_copy(dst_pmap, src_pmap, dst_addr, len, src_addr) vsize_t len; vaddr_t src_addr; { -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_copy(%p, %p, %lx, %lx, %lx)\n", - dst_pmap, src_pmap, dst_addr, len, src_addr); -#endif + + PMAP_DPRINTF(PDB_FOLLOW, + ("pmap_copy(%p, %p, %lx, %lx, %lx)\n", + dst_pmap, src_pmap, dst_addr, len, src_addr)); } /* @@ -1597,11 +1555,10 @@ void pmap_copy(dst_pmap, src_pmap, dst_addr, len, src_addr) */ void pmap_update() { -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_update()\n"); -#endif - TBIA(); + + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_update()\n")); + + TBIA(); /* XXX should not be here. */ } /* @@ -1624,10 +1581,8 @@ pmap_collect(pmap) if (pmap != pmap_kernel()) return; -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_collect(%p)\n", pmap); -#endif + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_collect(%p)\n", pmap)); + s = splimp(); for (bank = 0; bank < vm_nphysseg; bank++) pmap_collect1(pmap, ptoa(vm_physmem[bank].start), @@ -1765,10 +1720,8 @@ pmap_zero_page(phys) vaddr_t kva; extern caddr_t CADDR1; -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_zero_page(%lx)\n", phys); -#endif + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_zero_page(%lx)\n", phys)); + kva = (vaddr_t) CADDR1; pmap_enter(pmap_kernel(), kva, phys, VM_PROT_READ|VM_PROT_WRITE, TRUE); zeropage((caddr_t)kva); @@ -1796,10 +1749,8 @@ pmap_copy_page(src, dst) vaddr_t skva, dkva; extern caddr_t CADDR1, CADDR2; -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_copy_page(%lx, %lx)\n", src, dst); -#endif + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_copy_page(%lx, %lx)\n", src, dst)); + skva = (vaddr_t)CADDR1; dkva = (vaddr_t)CADDR2; pmap_enter(pmap_kernel(), skva, src, VM_PROT_READ, TRUE); @@ -1829,11 +1780,11 @@ pmap_pageable(pmap, sva, eva, pageable) vaddr_t sva, eva; boolean_t pageable; { -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_pageable(%p, %lx, %lx, %x)\n", - pmap, sva, eva, pageable); -#endif + + PMAP_DPRINTF(PDB_FOLLOW, + ("pmap_pageable(%p, %lx, %lx, %x)\n", + pmap, sva, eva, pageable)); + /* * If we are making a PT page pageable then all valid * mappings must be gone from that page. Hence it should @@ -1893,10 +1844,9 @@ void pmap_clear_modify(pa) paddr_t pa; { -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_clear_modify(%lx)\n", pa); -#endif + + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_clear_modify(%lx)\n", pa)); + pmap_changebit(pa, 0, ~PG_M); } @@ -1909,10 +1859,9 @@ pmap_clear_modify(pa) void pmap_clear_reference(pa) paddr_t pa; { -#ifdef DEBUG - if (pmapdebug & PDB_FOLLOW) - printf("pmap_clear_reference(%lx)\n", pa); -#endif + + PMAP_DPRINTF(PDB_FOLLOW, ("pmap_clear_reference(%lx)\n", pa)); + pmap_changebit(pa, 0, ~PG_U); } @@ -2026,12 +1975,12 @@ pmap_remove_mapping(pmap, va, pte, flags) int s, bits; #ifdef DEBUG pt_entry_t opte; - - if (pmapdebug & (PDB_FOLLOW|PDB_REMOVE|PDB_PROTECT)) - printf("pmap_remove_mapping(%p, %lx, %p, %x)\n", - pmap, va, pte, flags); #endif + PMAP_DPRINTF(PDB_FOLLOW|PDB_REMOVE|PDB_PROTECT, + ("pmap_remove_mapping(%p, %lx, %p, %x)\n", + pmap, va, pte, flags)); + /* * PTE not provided, compute it from pmap and va. */ @@ -2071,10 +2020,7 @@ pmap_remove_mapping(pmap, va, pte, flags) /* * Invalidate the PTE after saving the reference modify info. */ -#ifdef DEBUG - if (pmapdebug & PDB_REMOVE) - printf("remove: invalidating pte at %p\n", pte); -#endif + PMAP_DPRINTF(PDB_REMOVE, ("remove: invalidating pte at %p\n", pte)); bits = *pte & (PG_U|PG_M); *pte = PG_NV; if ((flags & PRM_TFLUSH) && active_pmap(pmap)) @@ -2149,10 +2095,8 @@ pmap_remove_mapping(pmap, va, pte, flags) */ if (pmap_aliasmask && pv->pv_pmap && pv->pv_next == NULL && (pv->pv_flags & PV_CI)) { -#ifdef DEBUG - if (pmapdebug & PDB_CACHE) - printf("remove: clearing CI for pa %lx\n", pa); -#endif + PMAP_DPRINTF(PDB_CACHE, + ("remove: clearing CI for pa %lx\n", pa)); pv->pv_flags &= ~PV_CI; pmap_changebit(pa, 0, ~PG_CI); #ifdef DEBUG @@ -2167,11 +2111,9 @@ pmap_remove_mapping(pmap, va, pte, flags) * mapping from the associated segment table. */ if (ste) { -#ifdef DEBUG - if (pmapdebug & (PDB_REMOVE|PDB_PTPAGE)) - printf("remove: ste was %x@%p pte was %x@%p\n", - *ste, ste, opte, pmap_pte(pmap, va)); -#endif + PMAP_DPRINTF(PDB_REMOVE|PDB_PTPAGE, + ("remove: ste was %x@%p pte was %x@%p\n", + *ste, ste, opte, pmap_pte(pmap, va))); #if defined(M68040) if (mmutype == MMU_68040) { st_entry_t *este = &ste[NPTEPG/SG4_LEV3SIZE]; @@ -2190,20 +2132,18 @@ pmap_remove_mapping(pmap, va, pte, flags) * freeing it if it is now empty. */ if (ptpmap != pmap_kernel()) { + PMAP_DPRINTF(PDB_REMOVE|PDB_SEGTAB, + ("remove: stab %p, refcnt %d\n", + ptpmap->pm_stab, ptpmap->pm_sref - 1)); #ifdef DEBUG - if (pmapdebug & (PDB_REMOVE|PDB_SEGTAB)) - printf("remove: stab %p, refcnt %d\n", - ptpmap->pm_stab, ptpmap->pm_sref - 1); if ((pmapdebug & PDB_PARANOIA) && ptpmap->pm_stab != (st_entry_t *)trunc_page(ste)) panic("remove: bogus ste"); #endif if (--(ptpmap->pm_sref) == 0) { -#ifdef DEBUG - if (pmapdebug&(PDB_REMOVE|PDB_SEGTAB)) - printf("remove: free stab %p\n", - ptpmap->pm_stab); -#endif + PMAP_DPRINTF(PDB_REMOVE|PDB_SEGTAB, + ("remove: free stab %p\n", + ptpmap->pm_stab)); #if defined(UVM) uvm_km_free_wakeup(st_map, (vaddr_t)ptpmap->pm_stab, @@ -2313,10 +2253,9 @@ pmap_changebit(pa, set, mask) boolean_t firstpage = TRUE; #endif -#ifdef DEBUG - if (pmapdebug & PDB_BITS) - printf("pmap_changebit(%lx, %x, %x)\n", pa, set, mask); -#endif + PMAP_DPRINTF(PDB_BITS, + ("pmap_changebit(%lx, %x, %x)\n", pa, set, mask)); + if (PAGE_IS_MANAGED(pa) == 0) return; @@ -2415,10 +2354,9 @@ pmap_enter_ptpage(pmap, va) st_entry_t *ste; int s; -#ifdef DEBUG - if (pmapdebug & (PDB_FOLLOW|PDB_ENTER|PDB_PTPAGE)) - printf("pmap_enter_ptpage: pmap %p, va %lx\n", pmap, va); -#endif + PMAP_DPRINTF(PDB_FOLLOW|PDB_ENTER|PDB_PTPAGE, + ("pmap_enter_ptpage: pmap %p, va %lx\n", pmap, va)); + /* * Allocate a segment table if necessary. Note that it is allocated * from a private map and not pt_map. This keeps user page tables @@ -2451,11 +2389,10 @@ pmap_enter_ptpage(pmap, va) */ if (active_user_pmap(pmap)) PMAP_ACTIVATE(pmap, 1); -#ifdef DEBUG - if (pmapdebug & (PDB_ENTER|PDB_PTPAGE|PDB_SEGTAB)) - printf("enter: pmap %p stab %p(%p)\n", - pmap, pmap->pm_stab, pmap->pm_stpa); -#endif + + PMAP_DPRINTF(PDB_ENTER|PDB_PTPAGE|PDB_SEGTAB, + ("enter: pmap %p stab %p(%p)\n", + pmap, pmap->pm_stab, pmap->pm_stpa)); } ste = pmap_ste(pmap, va); @@ -2476,10 +2413,9 @@ pmap_enter_ptpage(pmap, va) bzero(addr, SG4_LEV2SIZE*sizeof(st_entry_t)); addr = (caddr_t)&pmap->pm_stpa[ix*SG4_LEV2SIZE]; *ste = (u_int)addr | SG_RW | SG_U | SG_V; -#ifdef DEBUG - if (pmapdebug & (PDB_ENTER|PDB_PTPAGE|PDB_SEGTAB)) - printf("enter: alloc ste2 %d(%p)\n", ix, addr); -#endif + + PMAP_DPRINTF(PDB_ENTER|PDB_PTPAGE|PDB_SEGTAB, + ("enter: alloc ste2 %d(%p)\n", ix, addr)); } ste = pmap_ste2(pmap, va); /* @@ -2491,11 +2427,9 @@ pmap_enter_ptpage(pmap, va) * entirety below. */ ste = (st_entry_t *)((int)ste & ~(NBPG/SG4_LEV3SIZE-1)); -#ifdef DEBUG - if (pmapdebug & (PDB_ENTER|PDB_PTPAGE|PDB_SEGTAB)) - printf("enter: ste2 %p (%p)\n", - pmap_ste2(pmap, va), ste); -#endif + + PMAP_DPRINTF(PDB_ENTER|PDB_PTPAGE|PDB_SEGTAB, + ("enter: ste2 %p (%p)\n", pmap_ste2(pmap, va), ste)); } #endif va = trunc_page((vaddr_t)pmap_pte(pmap, va)); @@ -2514,10 +2448,8 @@ pmap_enter_ptpage(pmap, va) * No PT pages available. * Try once to free up unused ones. */ -#ifdef DEBUG - if (pmapdebug & PDB_COLLECT) - printf("enter: no KPT pages, collecting...\n"); -#endif + PMAP_DPRINTF(PDB_COLLECT, + ("enter: no KPT pages, collecting...\n")); pmap_collect(pmap_kernel()); if ((kpt = kpt_free_list) == (struct kpt_page *)0) panic("pmap_enter_ptpage: can't get KPT page"); @@ -2548,10 +2480,8 @@ pmap_enter_ptpage(pmap, va) * lose the segment table when low on memory. */ pmap->pm_sref++; -#ifdef DEBUG - if (pmapdebug & (PDB_ENTER|PDB_PTPAGE)) - printf("enter: about to fault UPT pg at %lx\n", va); -#endif + PMAP_DPRINTF(PDB_ENTER|PDB_PTPAGE, + ("enter: about to fault UPT pg at %lx\n", va)); #if defined(UVM) s = uvm_fault(pt_map, va, 0, VM_PROT_READ|VM_PROT_WRITE); if (s != KERN_SUCCESS) { @@ -2618,10 +2548,9 @@ pmap_enter_ptpage(pmap, va) #endif pv->pv_ptste = ste; pv->pv_ptpmap = pmap; -#ifdef DEBUG - if (pmapdebug & (PDB_ENTER|PDB_PTPAGE)) - printf("enter: new PT page at PA %lx, ste at %p\n", ptpa, ste); -#endif + + PMAP_DPRINTF(PDB_ENTER|PDB_PTPAGE, + ("enter: new PT page at PA %lx, ste at %p\n", ptpa, ste)); /* * Map the new PT page into the segment table. @@ -2643,11 +2572,9 @@ pmap_enter_ptpage(pmap, va) #endif *ste = (ptpa & SG_FRAME) | SG_RW | SG_V; if (pmap != pmap_kernel()) { -#ifdef DEBUG - if (pmapdebug & (PDB_ENTER|PDB_PTPAGE|PDB_SEGTAB)) - printf("enter: stab %p refcnt %d\n", - pmap->pm_stab, pmap->pm_sref); -#endif + PMAP_DPRINTF(PDB_ENTER|PDB_PTPAGE|PDB_SEGTAB, + ("enter: stab %p refcnt %d\n", + pmap->pm_stab, pmap->pm_sref)); } #if 0 /*