Date: Tue, 21 Feb 2017 21:06:13 +0000 (UTC) From: Mark Johnston <markj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r314057 - head/sys/amd64/amd64 Message-ID: <201702212106.v1LL6DCi077434@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 <rlibby@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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702212106.v1LL6DCi077434>