Index: sys/amd64/amd64/pmap.c =================================================================== --- sys/amd64/amd64/pmap.c +++ sys/amd64/amd64/pmap.c @@ -7241,6 +7241,8 @@ #include "opt_ddb.h" #ifdef DDB +#include + #include DB_SHOW_COMMAND(pte, pmap_print_pte) @@ -7252,13 +7254,19 @@ pt_entry_t *pte, PG_V; vm_offset_t va; - if (have_addr) { - va = (vm_offset_t)addr; - pmap = PCPU_GET(curpmap); /* XXX */ - } else { + if (!have_addr) { db_printf("show pte addr\n"); return; } + va = (vm_offset_t)addr; + + pmap = NULL; + if (kdb_thread != NULL && kdb_thread->td_proc != NULL && + kdb_thread->td_proc->p_vmspace != NULL) + pmap = vmspace_pmap(kdb_thread->td_proc->p_vmspace); + if (pmap == NULL) + pmap = PCPU_GET(curpmap); + PG_V = pmap_valid_bit(pmap); pml4 = pmap_pml4e(pmap, va); db_printf("VA %#016lx pml4e %#016lx", va, *pml4);