summaryrefslogtreecommitdiffstats
path: root/sys/pc98
diff options
context:
space:
mode:
authornyan <nyan@FreeBSD.org>2008-02-29 05:01:10 +0000
committernyan <nyan@FreeBSD.org>2008-02-29 05:01:10 +0000
commitb693f947923389e84107c7d051e8ae07939b8021 (patch)
tree2232143cc9620d56eefaaaa43058344315c92db8 /sys/pc98
parentb1d88bacd7be6e1a96583a5f2ad5a982cc68070e (diff)
downloadFreeBSD-src-b693f947923389e84107c7d051e8ae07939b8021.zip
FreeBSD-src-b693f947923389e84107c7d051e8ae07939b8021.tar.gz
MFi386: revision 1.658
Add "show sysregs" command to ddb. On i386, this gives gdt, idt, ldt, cr0-4, etc. Support should be added for other platforms that have a different set of registers for system use.
Diffstat (limited to 'sys/pc98')
-rw-r--r--sys/pc98/pc98/machdep.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/pc98/pc98/machdep.c b/sys/pc98/pc98/machdep.c
index 62d313f..81f77fd 100644
--- a/sys/pc98/pc98/machdep.c
+++ b/sys/pc98/pc98/machdep.c
@@ -1581,6 +1581,25 @@ DB_SHOW_COMMAND(idt, db_show_idt)
ip++;
}
}
+
+/* Show privileged registers. */
+DB_SHOW_COMMAND(sysregs, db_show_sysregs)
+{
+ uint64_t idtr, gdtr;
+
+ idtr = ridt();
+ db_printf("idtr\t0x%08x/%04x\n",
+ (u_int)(idtr >> 16), (u_int)idtr & 0xffff);
+ gdtr = rgdt();
+ db_printf("gdtr\t0x%08x/%04x\n",
+ (u_int)(gdtr >> 16), (u_int)gdtr & 0xffff);
+ db_printf("ldtr\t0x%04x\n", rldt());
+ db_printf("tr\t0x%04x\n", rtr());
+ db_printf("cr0\t0x%08x\n", rcr0());
+ db_printf("cr2\t0x%08x\n", rcr2());
+ db_printf("cr3\t0x%08x\n", rcr3());
+ db_printf("cr4\t0x%08x\n", rcr4());
+}
#endif
void
OpenPOWER on IntegriCloud