8 #include "filter_console.h"
9 #include "kernel_console.h"
10 #include "kernel_uart.h"
11 #include "static_init.h"
14 STATIC_INITIALIZER_P(uart_console_init_stage1, UART_INIT_PRIO);
15 STATIC_INITIALIZER (uart_console_init_stage2);
17 static void uart_console_init_stage1()
19 if (strstr (Cmdline::cmdline(), " -noserial")) // do not use serial uart
22 static Filter_console fcon(Kernel_uart::uart());
24 Kconsole::console()->register_console(&fcon, 0);
27 static void uart_console_init_stage2()
29 if ((Kernel_uart::uart()->failed()))
33 if (Config::serial_esc == Config::SERIAL_ESC_IRQ
34 && (irq = Kernel_uart::uart()->irq()) == -1)
36 puts("SERIAL ESC: not supported");
37 Config::serial_esc = Config::SERIAL_ESC_NOIRQ;
40 switch (Config::serial_esc)
42 case Config::SERIAL_ESC_NOIRQ:
43 puts("SERIAL ESC: No IRQ for specified uart port.");
44 puts("Using serial hack in slow timer handler.");
47 case Config::SERIAL_ESC_IRQ:
48 Kernel_uart::enable_rcv_irq();
49 printf("SERIAL ESC: allocated IRQ %d for serial uart\n", irq);
50 puts("Not using serial hack in slow timer handler.");