Messages in this thread | | | Date | Tue, 15 May 2007 21:17:50 -0700 | From | "Yinghai Lu" <> | Subject | Re: [patch] early printk and boot console fixups. |
| |
On 2/16/07, Gerd Hoffmann <kraxel@suse.de> wrote:
> The console subsystem already has an idea of a boot console, using the > CON_BOOT flag. The implementation has some flaws though. The major > problem is that presence of a boot console makes register_console() > ignore any other console devices (unless explicitly specified on the > kernel command line). > > This patch fixes the console selection code to *not* consider a boot > console a full-featured one, so the first "normal" console registering > will become the default boot console instead. This way the unregister > call for the boot console in register_console() actually triggers and > the handover from the boot console to the real console device works > smoothly. > > The patch also changes the x86 early_printk code to use this. The early > console is simply tagged as boot console, the disable_early_printk() > call is gone as it isn't needed any more.
just notice console handover patch got into mainline 5/8.
for early_uart_console, I have some ideas: 1. merged that into early_serial_console in arch/x86_64/kernel/early_printk.c, and move early_printk.c to kernel/, --- make it understand earlyprintk=uart,io,0x3f8,9600n8 earlyprintk=uart,mmio,0xff5e0000,115200n8 in addition to vga, ttyS, serial
2. or make early_uart_console to be another CON_BOOT, and get rid of late_initcall(early_uart_console_switch). actually with late_initcall early_uart_console_switch instead of console handover, we will lose char output from serial drv init to late_initcall stage. in this case, we need to EARLY_SERIAL_CONSOLE to select early_serial_console or early_uart_console for x86_64 platform.
YH - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |