[SeaBIOS] [PATCH 1/2] config: allow DEBUG_IO for !QEMU

Gerd Hoffmann kraxel at redhat.com
Mon Jun 3 08:06:23 CEST 2013


Make DEBUG_IO depend on QEMU_HARDWARE instead of QEMU, so
it can be enabled for seabios builds running indirectly
(coreboot, csm) on qemu.

Add runtime check for PF_QEMU to debug port console to make
sure we don't poke on random ports on physical hardware.

Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
 src/Kconfig  |    2 +-
 src/output.c |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/Kconfig b/src/Kconfig
index 3c80132..5882d11 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -425,7 +425,7 @@ menu "Debugging"
             Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
 
     config DEBUG_IO
-        depends on QEMU && DEBUG_LEVEL != 0
+        depends on QEMU_HARDWARE && DEBUG_LEVEL != 0
         bool "Special IO port debugging"
         default y
         help
diff --git a/src/output.c b/src/output.c
index 79c3ada..100481b 100644
--- a/src/output.c
+++ b/src/output.c
@@ -11,6 +11,7 @@
 #include "bregs.h" // struct bregs
 #include "config.h" // CONFIG_*
 #include "biosvar.h" // GET_GLOBAL
+#include "paravirt.h" // PlatformRunningOn
 
 struct putcinfo {
     void (*func)(struct putcinfo *info, char c);
@@ -77,7 +78,7 @@ putc_debug(struct putcinfo *action, char c)
 {
     if (! CONFIG_DEBUG_LEVEL)
         return;
-    if (CONFIG_DEBUG_IO)
+    if (CONFIG_DEBUG_IO && (PlatformRunningOn & PF_QEMU))
         // Send character to debug port.
         outb(c, GET_GLOBAL(DebugOutputPort));
     if (c == '\n')
-- 
1.7.9.7




More information about the SeaBIOS mailing list