Author: markj Date: Tue Feb 21 21:06:12 2017 New Revision: 314057 URL: https://svnweb.freebsd.org/changeset/base/314057
Log: ddb show pte: use pmap of kdb_thread show pte from the pmap of the process of the current DDB thread, instead of necessarily the PCPU pmap. Submitted by: Ryan Libby <rli...@gmail.com> Reviewed by: kib MFC after: 1 week Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D9645 Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Tue Feb 21 21:01:01 2017 (r314056) +++ head/sys/amd64/amd64/pmap.c Tue Feb 21 21:06:12 2017 (r314057) @@ -7239,6 +7239,7 @@ pmap_quick_remove_page(vm_offset_t addr) #include "opt_ddb.h" #ifdef DDB +#include <sys/kdb.h> #include <ddb/ddb.h> DB_SHOW_COMMAND(pte, pmap_print_pte) @@ -7250,13 +7251,17 @@ DB_SHOW_COMMAND(pte, pmap_print_pte) 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; + + if (kdb_thread != NULL) + pmap = vmspace_pmap(kdb_thread->td_proc->p_vmspace); + else + pmap = PCPU_GET(curpmap); + PG_V = pmap_valid_bit(pmap); pml4 = pmap_pml4e(pmap, va); db_printf("VA %#016lx pml4e %#016lx", va, *pml4); _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"