#include <arch/hlt.h>
#include <arch/io.h>
-#if CONFIG_CONSOLE_NE2K
-#include <console/ne2k.h>
-#endif
-
#ifndef __PRE_RAM__
#include <string.h>
#include <pc80/mc146818rtc.h>
}
}
-static void __console_tx_byte(unsigned char byte)
+void console_tx_flush(void)
{
struct console_driver *driver;
for(driver = console_drivers; driver < econsole_drivers; driver++) {
- driver->tx_byte(byte);
+ if (!driver->tx_flush)
+ continue;
+ driver->tx_flush();
}
}
-void console_tx_flush(void)
+static void __console_tx_byte(unsigned char byte)
{
struct console_driver *driver;
for(driver = console_drivers; driver < econsole_drivers; driver++) {
- if (!driver->tx_flush)
- continue;
- driver->tx_flush();
+ driver->tx_byte(byte);
}
}
return 0;
}
-/*
- * Write POST information
- */
-void post_code(u8 value)
-{
-#if !defined(CONFIG_NO_POST) || CONFIG_NO_POST==0
-#if CONFIG_SERIAL_POST==1
- printk(BIOS_EMERG, "POST: 0x%02x\n", value);
-#endif
- outb(value, 0x80);
-#endif
-}
-
-/* Report a fatal error */
-void __attribute__((noreturn)) die(const char *msg)
-{
- printk(BIOS_EMERG, "%s", msg);
- //post_code(0xff);
- for (;;)
- hlt(); /* Halt */
-}
-
-#else
+#else // __PRE_RAM__ ^^^ NOT defined vvv defined
void console_init(void)
{
+#if CONFIG_USBDEBUG
+ enable_usbdebug(CONFIG_USBDEBUG_DEFAULT_PORT);
+ early_usbdebug_init();
+#endif
+#if CONFIG_CONSOLE_SERIAL8250
+ uart_init();
+#endif
+#if CONFIG_DRIVERS_OXFORD_OXPCIE && CONFIG_CONSOLE_SERIAL8250MEM
+ oxford_init();
+#endif
#if CONFIG_CONSOLE_NE2K
ne2k_init(CONFIG_CONSOLE_NE2K_IO_PORT);
+#endif
+#if CONFIG_CONSOLE_CBMEM
+ cbmemc_init();
#endif
static const char console_test[] =
"\n\ncoreboot-"
" starting...\n";
print_info(console_test);
}
-
-void post_code(u8 value)
-{
-#if !defined(CONFIG_NO_POST) || CONFIG_NO_POST==0
-#if CONFIG_SERIAL_POST==1
- print_emerg("POST: 0x");
- print_emerg_hex8(value);
- print_emerg("\n");
-#endif
- outb(value, 0x80);
-#endif
-}
-
-void die(const char *str)
-{
- print_emerg(str);
- do {
- hlt();
- } while(1);
-}
#endif