aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2013-06-05 09:37:24 +0200
committerKevin O'Connor <kevin@koconnor.net>2013-06-12 21:42:15 -0400
commit2ca73ed004ed817ea887e28bf9ed97e58a652519 (patch)
tree03145aa655eb228ce4bc53f1911a5181e98ee678
parentb98a4b1dae7885097873c5f16ac3fe0ad6543155 (diff)
downloadseabios-2ca73ed004ed817ea887e28bf9ed97e58a652519.tar.gz
config: allow DEBUG_IO for !QEMU
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@redhat.com>
-rw-r--r--src/Kconfig2
-rw-r--r--src/output.c3
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..d548766 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 && runningOnQEMU())
// Send character to debug port.
outb(c, GET_GLOBAL(DebugOutputPort));
if (c == '\n')