summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown2007-07-10 17:57:55 +0200
committerMichael Brown2007-07-10 17:57:55 +0200
commitfb16f9069953bb0d9fd10dfde48d40f8918de86f (patch)
tree795ba050088b9c92b123b19be08fd2cd3a245f3a /src/arch
parentMay be required in some disconnect scenarios (diff)
downloadipxe-fb16f9069953bb0d9fd10dfde48d40f8918de86f.tar.gz
ipxe-fb16f9069953bb0d9fd10dfde48d40f8918de86f.tar.xz
ipxe-fb16f9069953bb0d9fd10dfde48d40f8918de86f.zip
Dump first 64 bytes of chained ISR when debugging is enabled.
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/i386/interface/pcbios/biosint.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/i386/interface/pcbios/biosint.c b/src/arch/i386/interface/pcbios/biosint.c
index 5a48f0479..8ef2d7ab2 100644
--- a/src/arch/i386/interface/pcbios/biosint.c
+++ b/src/arch/i386/interface/pcbios/biosint.c
@@ -51,6 +51,12 @@ void hook_bios_interrupt ( unsigned int interrupt, unsigned int handler,
sizeof ( *chain_vector ) );
DBG ( "...chaining to %04x:%04x\n",
chain_vector->segment, chain_vector->offset );
+ if ( DBG_LOG ) {
+ char code[64];
+ copy_from_real ( code, chain_vector->segment,
+ chain_vector->offset, sizeof ( code ) );
+ DBG_HDA ( *chain_vector, code, sizeof ( code ) );
+ }
copy_to_real ( 0, ( interrupt * 4 ), &vector, sizeof ( vector ) );
hooked_bios_interrupts++;