aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Kconfig11
-rw-r--r--src/devices/oprom/x86.c2
-rw-r--r--src/devices/oprom/x86_interrupts.c2
3 files changed, 15 insertions, 0 deletions
diff --git a/src/Kconfig b/src/Kconfig
index ec3a13bdbf..be55b4bf90 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -543,6 +543,17 @@ config DEBUG_SMM_RELOCATION
If unsure, say N.
+config REALMODE_DEBUG
+ bool "Enable debug messages for option ROM execution"
+ default n
+ depends on PCI_OPTION_ROM_RUN_REALMODE
+ help
+ This option enables additional x86emu related debug messages.
+
+ Note: This option will increase the time to emulate a ROM.
+
+ If unsure, say N.
+
config X86EMU_DEBUG
bool "Output verbose x86emu debug messages"
default n
diff --git a/src/devices/oprom/x86.c b/src/devices/oprom/x86.c
index 42267faa5f..60776f68ea 100644
--- a/src/devices/oprom/x86.c
+++ b/src/devices/oprom/x86.c
@@ -329,6 +329,7 @@ int __attribute__((regparm(0))) interrupt_handler(u32 intnumber,
cs = cs_ip >> 16;
flags = stackflags;
+#if CONFIG_REALMODE_DEBUG
printk(BIOS_DEBUG, "oprom: INT# 0x%x\n", intnumber);
printk(BIOS_DEBUG, "oprom: eax: %08x ebx: %08x ecx: %08x edx: %08x\n",
eax, ebx, ecx, edx);
@@ -336,6 +337,7 @@ int __attribute__((regparm(0))) interrupt_handler(u32 intnumber,
ebp, esp, edi, esi);
printk(BIOS_DEBUG, "oprom: ip: %04x cs: %04x flags: %08x\n",
ip, cs, flags);
+#endif
// Fetch arguments from the stack and put them into
// a structure that we want to pass on to our sub interrupt
diff --git a/src/devices/oprom/x86_interrupts.c b/src/devices/oprom/x86_interrupts.c
index 49d69ee3a7..44c98d130c 100644
--- a/src/devices/oprom/x86_interrupts.c
+++ b/src/devices/oprom/x86_interrupts.c
@@ -156,8 +156,10 @@ int int1a_handler(struct eregs *regs)
break;
}
+#if CONFIG_REALMODE_DEBUG
printk(BIOS_DEBUG, "0x%x: bus %d devfn 0x%x reg 0x%x val 0x%x\n",
func, bus, devfn, reg, regs->ecx);
+#endif
regs->eax = 0;
retval = 0;
break;