aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2018-12-30 15:58:18 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2018-12-30 15:58:18 +0000
commit7af49852457d4eaf820d8f17b305ea445248c68a (patch)
treef59557593c729139f94972a89e912a4c865aabfb /sys/vm
parentfb1ec6a981cc99f10bf142f0d3b7c159d12e620a (diff)
downloadsrc-7af49852457d4eaf820d8f17b305ea445248c68a.tar.gz
src-7af49852457d4eaf820d8f17b305ea445248c68a.zip
Add 'v' modifier to the ddb 'show pginfo' command to display vm_page
backing the provided kernel virtual address. Tested by: pho MFC after: 1 week Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/head/; revision=342630
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_page.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index f5115a578c71..94e65c90c8f9 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -4493,7 +4493,7 @@ DB_SHOW_COMMAND(pageq, vm_page_print_pageq_info)
DB_SHOW_COMMAND(pginfo, vm_page_print_pginfo)
{
vm_page_t m;
- boolean_t phys;
+ boolean_t phys, virt;
if (!have_addr) {
db_printf("show pginfo addr\n");
@@ -4501,7 +4501,10 @@ DB_SHOW_COMMAND(pginfo, vm_page_print_pginfo)
}
phys = strchr(modif, 'p') != NULL;
- if (phys)
+ virt = strchr(modif, 'v') != NULL;
+ if (virt)
+ m = PHYS_TO_VM_PAGE(pmap_kextract(addr));
+ else if (phys)
m = PHYS_TO_VM_PAGE(addr);
else
m = (vm_page_t)addr;