aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-08-02 13:18:27 -0400
committerKevin O'Connor <kevin@koconnor.net>2009-08-02 13:18:27 -0400
commitb9e62d24153d0224aae671f4471d0c79ddbb5f26 (patch)
tree39622de3f5ec740ba02899b189dfc5f794782c55
parent9c3e74705a59d50d8aab7c7f294386fd14edda29 (diff)
downloadseabios-b9e62d24153d0224aae671f4471d0c79ddbb5f26.tar.gz
Add option CONFIG_SCREEN_AND_DEBUG to control printf and debugging.
New option controls whether or not printf content is also written to the debug ports.
-rw-r--r--src/config.h3
-rw-r--r--src/output.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/config.h b/src/config.h
index 20e74c76..98b69e82 100644
--- a/src/config.h
+++ b/src/config.h
@@ -19,9 +19,10 @@
// Control how verbose debug output is.
#define CONFIG_DEBUG_LEVEL 1
-
// Send debugging information to serial port
#define CONFIG_DEBUG_SERIAL 0
+// Screen writes are also sent to debug ports.
+#define CONFIG_SCREEN_AND_DEBUG 1
// Support for int13 floppy drive access
#define CONFIG_FLOPPY_SUPPORT 1
diff --git a/src/output.c b/src/output.c
index 6665b631..1cd0b8cb 100644
--- a/src/output.c
+++ b/src/output.c
@@ -48,7 +48,7 @@ debug_serial(char c)
outb(c, DEBUG_PORT+SEROFF_DATA);
}
-// Write a character to the serial port.
+// Make sure all serial port writes have been completely sent.
static void
debug_serial_flush()
{
@@ -79,7 +79,7 @@ screenc(u8 c)
static void
putc(u16 action, char c)
{
- if (CONFIG_DEBUG_LEVEL) {
+ if (CONFIG_DEBUG_LEVEL && (CONFIG_SCREEN_AND_DEBUG || !action)) {
if (! CONFIG_COREBOOT)
// Send character to debug port.
outb(c, PORT_BIOS_DEBUG);