svn commit: r314057 - head/sys/amd64/amd64
Mark Johnston
markj at FreeBSD.org
Tue Feb 21 21:06:14 UTC 2017
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 at 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);
More information about the svn-src-head
mailing list