summaryrefslogtreecommitdiffstats
path: root/sys/compat/x86bios
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2009-09-24 22:42:35 +0000
committerjkim <jkim@FreeBSD.org>2009-09-24 22:42:35 +0000
commit21b9526006ca4901db3a8aa71d2b81dcdb1856ff (patch)
tree0de41a4b15baedf439b74cc96f095c2badd7a9e1 /sys/compat/x86bios
parentdf5a33082a434bfe2ea6a9c86ccdd1331ac820d9 (diff)
downloadFreeBSD-src-21b9526006ca4901db3a8aa71d2b81dcdb1856ff.zip
FreeBSD-src-21b9526006ca4901db3a8aa71d2b81dcdb1856ff.tar.gz
Dump real mode registers under bootverbose to help debugging BIOS emulator.
Diffstat (limited to 'sys/compat/x86bios')
-rw-r--r--sys/compat/x86bios/x86bios.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/compat/x86bios/x86bios.c b/sys/compat/x86bios/x86bios.c
index e922ef4..9741b0c 100644
--- a/sys/compat/x86bios/x86bios.c
+++ b/sys/compat/x86bios/x86bios.c
@@ -97,6 +97,11 @@ x86bios_intr(struct x86regs *regs, int intno)
if (intno < 0 || intno > 255)
return;
+ if (bootverbose)
+ printf("Calling real mode int 0x%x "
+ "(ax=0x%04x bx=0x%04x cx=0x%04x dx=0x%04x)\n",
+ intno, regs->R_AX, regs->R_BX, regs->R_CX, regs->R_DX);
+
mtx_lock_spin(&x86bios_lock);
memcpy(&x86bios_emu.x86, regs, sizeof(*regs));
@@ -104,6 +109,11 @@ x86bios_intr(struct x86regs *regs, int intno)
memcpy(regs, &x86bios_emu.x86, sizeof(*regs));
mtx_unlock_spin(&x86bios_lock);
+
+ if (bootverbose)
+ printf("Exiting real mode int 0x%x "
+ "(ax=0x%04x bx=0x%04x cx=0x%04x dx=0x%04x)\n",
+ intno, regs->R_AX, regs->R_BX, regs->R_CX, regs->R_DX);
}
void *
OpenPOWER on IntegriCloud