summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/x86/smm/smiutil.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/cpu/x86/smm/smiutil.c b/src/cpu/x86/smm/smiutil.c
index cf951f4518..d9057d813a 100644
--- a/src/cpu/x86/smm/smiutil.c
+++ b/src/cpu/x86/smm/smiutil.c
@@ -26,7 +26,7 @@
#include <console/console.h>
#include <console/vtxprintf.h>
-#if CONFIG_CONSOLE_SERIAL8250
+#if CONFIG_CONSOLE_SERIAL8250 || CONFIG_CONSOLE_SERIAL8250MEM
#include <uart8250.h>
#endif
#if CONFIG_USBDEBUG
@@ -36,6 +36,10 @@
#include <console/ne2k.h>
#endif
+#if CONFIG_CONSOLE_SERIAL8250MEM
+static u32 serial8250mem_base_address = 0;
+#endif
+
void console_tx_flush(void)
{
// the tx_byte functions take care of the flush.
@@ -47,6 +51,10 @@ void console_tx_byte(unsigned char byte)
if (byte == '\n')
console_tx_byte('\r');
+#if CONFIG_CONSOLE_SERIAL8250MEM
+ if (serial8250mem_base_address)
+ uart8250_mem_tx_byte(serial8250mem_base_address, byte);
+#endif
#if CONFIG_CONSOLE_SERIAL8250
uart8250_tx_byte(CONFIG_TTYS0_BASE, byte);
#endif
@@ -65,6 +73,9 @@ void console_init(void)
#if CONFIG_CONSOLE_SERIAL8250
uart_init();
#endif
+#if CONFIG_CONSOLE_SERIAL8250MEM
+ serial8250mem_base_address = uart_mem_init();
+#endif
#else
console_loglevel = 1;
#endif