diff options
author | nyan <nyan@FreeBSD.org> | 2008-02-29 05:01:10 +0000 |
---|---|---|
committer | nyan <nyan@FreeBSD.org> | 2008-02-29 05:01:10 +0000 |
commit | b693f947923389e84107c7d051e8ae07939b8021 (patch) | |
tree | 2232143cc9620d56eefaaaa43058344315c92db8 /sys/pc98 | |
parent | b1d88bacd7be6e1a96583a5f2ad5a982cc68070e (diff) | |
download | FreeBSD-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.c | 19 |
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 |