Module Name:    src
Committed By:   skrll
Date:           Sat Apr 18 10:46:33 UTC 2020

Modified Files:
        src/sys/arch/arm/arm32: pmap.c

Log Message:
Remove PMAP_DEBUG by converting to UVMHIST


To generate a diff of this commit:
cvs rdiff -u -r1.407 -r1.408 src/sys/arch/arm/arm32/pmap.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/arm32/pmap.c
diff -u src/sys/arch/arm/arm32/pmap.c:1.407 src/sys/arch/arm/arm32/pmap.c:1.408
--- src/sys/arch/arm/arm32/pmap.c:1.407	Fri Apr 17 11:21:06 2020
+++ src/sys/arch/arm/arm32/pmap.c	Sat Apr 18 10:46:32 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.c,v 1.407 2020/04/17 11:21:06 skrll Exp $	*/
+/*	$NetBSD: pmap.c,v 1.408 2020/04/18 10:46:32 skrll Exp $	*/
 
 /*
  * Copyright 2003 Wasabi Systems, Inc.
@@ -179,16 +179,10 @@
  *       in a significant slow-down if both processes are in tight loops.
  */
 
-/*
- * Special compilation symbols
- * PMAP_DEBUG		- Build in pmap_debug_level code
- */
-
 /* Include header files */
 
 #include "opt_arm_debug.h"
 #include "opt_cpuoptions.h"
-#include "opt_pmap_debug.h"
 #include "opt_ddb.h"
 #include "opt_lockdebug.h"
 #include "opt_multiprocessor.h"
@@ -198,7 +192,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.407 2020/04/17 11:21:06 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.408 2020/04/18 10:46:32 skrll Exp $");
 
 #include <sys/atomic.h>
 #include <sys/param.h>
@@ -224,46 +218,6 @@ __KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.4
 #include <arm/db_machdep.h>
 #endif
 
-//#define PMAP_DEBUG
-#ifdef PMAP_DEBUG
-
-/* XXX need to get rid of all refs to this */
-int pmap_debug_level = 0;
-
-/*
- * for switching to potentially finer grained debugging
- */
-#define	PDB_FOLLOW	0x0001
-#define	PDB_INIT	0x0002
-#define	PDB_ENTER	0x0004
-#define	PDB_REMOVE	0x0008
-#define	PDB_CREATE	0x0010
-#define	PDB_PTPAGE	0x0020
-#define	PDB_GROWKERN	0x0040
-#define	PDB_BITS	0x0080
-#define	PDB_COLLECT	0x0100
-#define	PDB_PROTECT	0x0200
-#define	PDB_MAP_L1	0x0400
-#define	PDB_BOOTSTRAP	0x1000
-#define	PDB_PARANOIA	0x2000
-#define	PDB_WIRING	0x4000
-#define	PDB_PVDUMP	0x8000
-#define	PDB_VAC		0x10000
-#define	PDB_KENTER	0x20000
-#define	PDB_KREMOVE	0x40000
-#define	PDB_EXEC	0x80000
-
-int debugmap = 1;
-int pmapdebug = 0;
-#define	NPDEBUG(_lev_,_stat_) \
-	if (pmapdebug & (_lev_)) \
-        	((_stat_))
-
-#else	/* PMAP_DEBUG */
-#define NPDEBUG(_lev_,_stat_) /* Nothing */
-#endif	/* PMAP_DEBUG */
-
-
 #ifdef VERBOSE_INIT_ARM
 #define VPRINTF(...)	printf(__VA_ARGS__)
 #else
@@ -808,17 +762,6 @@ pv_addr_t kernelpages;
 pv_addr_t kernel_l1pt;
 pv_addr_t systempage;
 
-/* Function to set the debug level of the pmap code */
-
-#ifdef PMAP_DEBUG
-void
-pmap_debug(int level)
-{
-	pmap_debug_level = level;
-	printf("pmap_debug: level=%d\n", pmap_debug_level);
-}
-#endif	/* PMAP_DEBUG */
-
 #ifdef PMAP_CACHE_VIPT
 #define PMAP_VALIDATE_MD_PAGE(md)	\
 	KASSERTMSG(arm_cache_prefer_mask == 0 || (((md)->pvh_attrs & PVF_WRITE) == 0) == ((md)->urw_mappings + (md)->krw_mappings == 0), \
@@ -1018,10 +961,13 @@ static void
 pmap_enter_pv(struct vm_page_md *md, paddr_t pa, struct pv_entry *pv, pmap_t pm,
     vaddr_t va, u_int flags)
 {
-	struct pv_entry **pvp;
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "md %#jx pa %#jx pm %#jx va %#jx",
+	    (uintptr_t)md, (uintptr_t)pa, (uintptr_t)pm, va);
+	UVMHIST_LOG(maphist, "...pv %#jx flags %#jx",
+	    (uintptr_t)pv, flags, 0, 0);
 
-	NPDEBUG(PDB_PVDUMP,
-	    printf("pmap_enter_pv: pm %p, md %p, flags 0x%x\n", pm, md, flags));
+	struct pv_entry **pvp;
 
 	pv->pv_pmap = pm;
 	pv->pv_va = va;
@@ -1126,18 +1072,19 @@ pmap_find_pv(struct vm_page_md *md, pmap
 static struct pv_entry *
 pmap_remove_pv(struct vm_page_md *md, paddr_t pa, pmap_t pm, vaddr_t va)
 {
-	struct pv_entry *pv, **prevptr;
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "md %#jx pa %#jx pm %#jx va %#jx",
+	    (uintptr_t)md, (uintptr_t)pa, (uintptr_t)pm, va);
 
-	NPDEBUG(PDB_PVDUMP,
-	    printf("pmap_remove_pv: pm %p, md %p, va 0x%08lx\n", pm, md, va));
+	struct pv_entry *pv, **prevptr;
 
 	prevptr = &SLIST_FIRST(&md->pvh_list); /* prev pv_entry ptr */
 	pv = *prevptr;
 
 	while (pv) {
 		if (pv->pv_pmap == pm && pv->pv_va == va) {	/* match? */
-			NPDEBUG(PDB_PVDUMP, printf("pmap_remove_pv: pm %p, md "
-			    "%p, flags 0x%x\n", pm, md, pv->pv_flags));
+			UVMHIST_LOG(maphist, "pm %#jx md %#jx flags %#jx",
+			    (uintptr_t)pm, (uintptr_t)md, pv->pv_flags, 0);
 			if (pv->pv_flags & PVF_WIRED) {
 				--pm->pm_stats.wired_count;
 			}
@@ -1222,15 +1169,18 @@ pmap_modify_pv(struct vm_page_md *md, pa
 {
 	struct pv_entry *npv;
 	u_int flags, oflags;
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "md %#jx pa %#jx pm %#jx va %#jx",
+	    (uintptr_t)md, (uintptr_t)pa, (uintptr_t)pm, va);
+	UVMHIST_LOG(maphist, "... clr %#jx set %#jx", clr_mask, set_mask, 0, 0);
 
 	KASSERT(!PV_IS_KENTRY_P(clr_mask));
 	KASSERT(!PV_IS_KENTRY_P(set_mask));
 
-	if ((npv = pmap_find_pv(md, pm, va)) == NULL)
+	if ((npv = pmap_find_pv(md, pm, va)) == NULL) {
+		UVMHIST_LOG(maphist, "<--- done (not found)", 0, 0, 0, 0);
 		return 0;
-
-	NPDEBUG(PDB_PVDUMP,
-	    printf("pmap_modify_pv: pm %p, md %p, clr 0x%x, set 0x%x, flags 0x%x\n", pm, md, clr_mask, set_mask, npv->pv_flags));
+	}
 
 	/*
 	 * There is at least one VA mapping this page.
@@ -1301,6 +1251,8 @@ pmap_modify_pv(struct vm_page_md *md, pa
 
 	PMAPCOUNT(remappings);
 
+	UVMHIST_LOG(maphist, "<--- done", 0, 0, 0, 0);
+
 	return oflags;
 }
 
@@ -2055,6 +2007,7 @@ pmap_vac_me_user(struct vm_page_md *md, 
 static void
 pmap_vac_me_harder(struct vm_page_md *md, paddr_t pa, pmap_t pm, vaddr_t va)
 {
+
 #ifndef ARM_MMU_EXTENDED
 	struct pv_entry *pv;
 	vaddr_t tst_mask;
@@ -2067,8 +2020,9 @@ pmap_vac_me_harder(struct vm_page_md *md
 	if (arm_cache_prefer_mask == 0)
 		return;
 
-	NPDEBUG(PDB_VAC, printf("pmap_vac_me_harder: md=%p, pmap=%p va=%08lx\n",
-	    md, pm, va));
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "md %#jx pa %#jx pm %#jx va %#jx",
+	    (uintptr_t)md, (uintptr_t)pa, (uintptr_t)pm, va);
 
 	KASSERT(!va || pm);
 	KASSERT((md->pvh_attrs & PVF_DMOD) == 0 || (md->pvh_attrs & (PVF_DIRTY|PVF_NC)));
@@ -2366,9 +2320,9 @@ pmap_clearbit(struct vm_page_md *md, pad
 	const u_int execbits = 0;
 #endif
 
-	NPDEBUG(PDB_BITS,
-	    printf("pmap_clearbit: md %p mask 0x%x\n",
-	    md, maskbits));
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "md %#jx pa %#jx maskbits %#jx",
+	    (uintptr_t)md, pa, maskbits, 0);
 
 #ifdef PMAP_CACHE_VIPT
 	/*
@@ -2461,9 +2415,8 @@ pmap_clearbit(struct vm_page_md *md, pad
 		KASSERT((opte & L2_XS_nG) == (pm == pmap_kernel() ? 0 : L2_XS_nG));
 #endif
 
-		NPDEBUG(PDB_BITS,
-		    printf( "%s: pv %p, pm %p, va 0x%08lx, flag 0x%x\n",
-			__func__, pv, pm, va, oflags));
+		UVMHIST_LOG(maphist, "pv %#jx pm %#jx va %#jx flag %#jx",
+		    (uintptr_t)pv, (uintptr_t)pm, va, oflags);
 
 		if (maskbits & (PVF_WRITE|PVF_MOD)) {
 #ifdef PMAP_CACHE_VIVT
@@ -2568,9 +2521,8 @@ pmap_clearbit(struct vm_page_md *md, pad
 
 		pmap_release_pmap_lock(pm);
 
-		NPDEBUG(PDB_BITS,
-		    printf("pmap_clearbit: pm %p va 0x%lx opte 0x%08x npte 0x%08x\n",
-		    pm, va, opte, npte));
+		UVMHIST_LOG(maphist, "pm %#jx va %#jx opte %#jx npte %#jx",
+		    (uintptr_t)pm, va, opte, npte);
 
 		/* Move to next entry. */
 		pv = SLIST_NEXT(pv, pv_link);
@@ -2685,8 +2637,10 @@ pmap_syncicache_page(struct vm_page_md *
 	    ? PAGE_SIZE
 	    : arm_pcache.icache_way_size;
 
-	NPDEBUG(PDB_EXEC, printf("pmap_syncicache_page: md=%p (attrs=%#x)\n",
-	    md, md->pvh_attrs));
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "md %#jx pa %#jx (attrs=%#jx)",
+	    (uintptr_t)md, pa, md->pvh_attrs, 0);
+
 	/*
 	 * No need to clean the page if it's non-cached.
 	 */
@@ -2760,6 +2714,10 @@ pmap_flush_page(struct vm_page_md *md, p
 	if (arm_cache_prefer_mask == 0)
 		return;
 
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "md %#jx pa %#jx op %#jx",
+	    (uintptr_t)md, pa, op, 0);
+
 	switch (flush) {
 	case PMAP_FLUSH_PRIMARY:
 		if (md->pvh_attrs & PVF_MULTCLR) {
@@ -2802,8 +2760,8 @@ pmap_flush_page(struct vm_page_md *md, p
 
 	KASSERT(!(md->pvh_attrs & PVF_NC));
 
-	NPDEBUG(PDB_VAC, printf("pmap_flush_page: md=%p (attrs=%#x)\n",
-	    md, md->pvh_attrs));
+	UVMHIST_LOg(maphist, "md %#jx (attrs=%#jx)",(uintptr_t)md,
+	    md->pvh_attrs);
 
 	const size_t scache_line_size = arm_scache.dcache_line_size;
 
@@ -2883,9 +2841,8 @@ pmap_page_remove(struct vm_page_md *md, 
 #endif
 	u_int flags = 0;
 
-	NPDEBUG(PDB_FOLLOW,
-	    printf("pmap_page_remove: md %p (0x%08lx)\n", md,
-	    pa));
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "md %#jx pa %#jx", (uintptr_t)md, pa, 0, 0);
 
 	struct pv_entry **pvp = &SLIST_FIRST(&md->pvh_list);
 	pmap_acquire_page_lock(md);
@@ -4093,9 +4050,9 @@ pmap_protect(pmap_t pm, vaddr_t sva, vad
 	struct l2_bucket *l2b;
 	vaddr_t next_bucket;
 
-	NPDEBUG(PDB_PROTECT,
-	    printf("pmap_protect: pm %p sva 0x%lx eva 0x%lx prot 0x%x\n",
-	    pm, sva, eva, prot));
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "pm %#jx va %#jx...#%jx prot %#jx",
+	    (uintptr_t)pm, sva, eva, prot);
 
 	if ((prot & VM_PROT_READ) == 0) {
 		pmap_remove(pm, sva, eva);
@@ -4210,9 +4167,9 @@ pmap_icache_sync_range(pmap_t pm, vaddr_
 	vaddr_t next_bucket;
 	vsize_t page_size = trunc_page(sva) + PAGE_SIZE - sva;
 
-	NPDEBUG(PDB_EXEC,
-	    printf("pmap_icache_sync_range: pm %p sva 0x%lx eva 0x%lx\n",
-	    pm, sva, eva));
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "pm %#jx va %#jx...#%jx",
+	    (uintptr_t)pm, sva, eva, 0);
 
 	pmap_acquire_pmap_lock(pm);
 
@@ -4248,9 +4205,9 @@ pmap_page_protect(struct vm_page *pg, vm
 	struct vm_page_md *md = VM_PAGE_TO_MD(pg);
 	paddr_t pa = VM_PAGE_TO_PHYS(pg);
 
-	NPDEBUG(PDB_PROTECT,
-	    printf("pmap_page_protect: md %p (0x%08lx), prot 0x%x\n",
-	    md, pa, prot));
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "md %#jx pa %#jx prot %#jx",
+	    (uintptr_t)md, pa, prot, 0);
 
 	switch(prot) {
 	case VM_PROT_READ|VM_PROT_WRITE:
@@ -4866,7 +4823,8 @@ pmap_unwire(pmap_t pm, vaddr_t va)
 	struct vm_page *pg;
 	paddr_t pa;
 
-	NPDEBUG(PDB_WIRING, printf("pmap_unwire: pm %p, va 0x%08lx\n", pm, va));
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "pm %#jx va %#jx", (uintptr_t)pm, va, 0, 0);
 
 	pmap_acquire_pmap_lock(pm);
 
@@ -4927,9 +4885,6 @@ pmap_md_pdetab_activate(pmap_t pm, struc
 	}
 	cpu_cpwait();
 
-	UVMHIST_LOG(maphist, " pm %#jx pm->pm_l1_pa %08jx asid %ju... done",
-	    (uintptr_t)pm, pm->pm_l1_pa, pai->pai_asid, 0);
-
 	KASSERTMSG(ci->ci_pmap_asid_cur == pai->pai_asid, "%u vs %u",
 	    ci->ci_pmap_asid_cur, pai->pai_asid);
 	ci->ci_pmap_cur = pm;
@@ -5979,6 +5934,10 @@ pmap_grow_l2_bucket(pmap_t pm, vaddr_t v
 vaddr_t
 pmap_growkernel(vaddr_t maxkvaddr)
 {
+	UVMHIST_FUNC(__func__);
+	UVMHIST_CALLARGS(maphist, "growing kernel from %#jx to %#jx\n",
+	    pmap_curmaxkvaddr, maxkvaddr, 0, 0);
+
 	pmap_t kpm = pmap_kernel();
 #ifndef ARM_MMU_EXTENDED
 	struct l1_ttable *l1;
@@ -5988,10 +5947,6 @@ pmap_growkernel(vaddr_t maxkvaddr)
 	if (maxkvaddr <= pmap_curmaxkvaddr)
 		goto out;		/* we are OK */
 
-	NPDEBUG(PDB_GROWKERN,
-	    printf("pmap_growkernel: growing kernel from 0x%lx to 0x%lx\n",
-	    pmap_curmaxkvaddr, maxkvaddr));
-
 	KDASSERT(maxkvaddr <= virtual_end);
 
 	/*

Reply via email to