CBMEM CONSOLE: Add code using the new console driver.
[coreboot.git] / src / arch / x86 / lib / romstage_console.c
index a5f2e2b0740d95988418abd1eb544f5ece3375b2..0f2272709bc14445ac9373158795ee079dfbfcb1 100644 (file)
@@ -46,6 +46,22 @@ static void console_tx_byte(unsigned char byte)
 #if CONFIG_CONSOLE_NE2K
        ne2k_append_data(&byte, 1, CONFIG_CONSOLE_NE2K_IO_PORT);
 #endif
+#if CONFIG_CONSOLE_CBMEM
+       cbmemc_tx_byte(byte);
+#endif
+}
+
+static void console_tx_flush(void)
+{
+#if CONFIG_CONSOLE_SERIAL8250MEM
+       uart8250_mem_tx_flush(CONFIG_OXFORD_OXPCIE_BASE_ADDRESS + 0x1000);
+#endif
+#if CONFIG_CONSOLE_SERIAL8250
+       uart8250_tx_flush(CONFIG_TTYS0_BASE);
+#endif
+#if CONFIG_CONSOLE_NE2K
+       ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
+#endif
 }
 
 int do_printk(int msg_level, const char *fmt, ...)
@@ -60,8 +76,8 @@ int do_printk(int msg_level, const char *fmt, ...)
        va_start(args, fmt);
        i = vtxprintf(console_tx_byte, fmt, args);
        va_end(args);
-#if CONFIG_CONSOLE_NE2K
-       ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
-#endif
+
+       console_tx_flush();
+
        return i;
 }