summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386/console/console.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/i386/pc386/console/console.c')
-rw-r--r--c/src/lib/libbsp/i386/pc386/console/console.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/console/console.c b/c/src/lib/libbsp/i386/pc386/console/console.c
index 264eda12f0..b94713365b 100644
--- a/c/src/lib/libbsp/i386/pc386/console/console.c
+++ b/c/src/lib/libbsp/i386/pc386/console/console.c
@@ -196,6 +196,19 @@ console_initialize(rtems_device_major_number major,
*/
rtems_termios_initialize ();
+#ifdef RTEMS_RUNTIME_CONSOLE_SELECT
+ /*
+ * If no video card, fall back to serial port console
+ */
+#include <crt.h>
+ if((BSPConsolePort == BSP_CONSOLE_PORT_CONSOLE)
+ && (*(unsigned char*) NB_MAX_ROW_ADDR == 0)
+ && (*(unsigned short*)NB_MAX_COL_ADDR == 0)) {
+ BSPConsolePort = BSP_UART_COM2;
+ BSPPrintkPort = BSP_UART_COM1;
+ }
+#endif
+
/*
* The video was initialized in the start.s code and does not need
* to be reinitialized.