diff options
author | jkim <jkim@FreeBSD.org> | 2009-09-24 22:42:35 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2009-09-24 22:42:35 +0000 |
commit | 21b9526006ca4901db3a8aa71d2b81dcdb1856ff (patch) | |
tree | 0de41a4b15baedf439b74cc96f095c2badd7a9e1 /sys/compat | |
parent | df5a33082a434bfe2ea6a9c86ccdd1331ac820d9 (diff) | |
download | FreeBSD-src-21b9526006ca4901db3a8aa71d2b81dcdb1856ff.zip FreeBSD-src-21b9526006ca4901db3a8aa71d2b81dcdb1856ff.tar.gz |
Dump real mode registers under bootverbose to help debugging BIOS emulator.
Diffstat (limited to 'sys/compat')
-rw-r--r-- | sys/compat/x86bios/x86bios.c | 10 |
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 * |