Re: [PATCH]serial: make early_uart to use early_prarm instead of console_initcall

From: Yinghai Lu
Date: Mon May 21 2007 - 00:29:34 EST


On 5/20/07, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
I'll queue this up for some testing, but I'd be a bit reluctant to send it
into Linus due to my poor understanding of what it actually does. What
_is_ an early console, and how does it differ from a non-early one?

Someone help, please.

Coudl you please provide a patch against
Documentation/kernel-parameters.txt as well?

the story:
Bjorn refer to andi's early_printk to create one early_uart. it took
console=uart,io,0x3f8,9600n8
or console=uart,mem,0xfxxx,115200n8.
and it is called via console_init. --- it is not really early uart for
platform other than ia64.
ia64 call early_serial_console_init explicitly, so it is some early.
but it needs to late_initcall to do console switch.

Gerd's patch (console handover) was merged into mainline. it will
switch from early_printk to normal console in register_console via
CON_BOOT flags.. ===> only for x86

I produced one patch to change early_uart calling from console_init to
early_param. So to make early_uart to real early_uart for all other
platform in addition to ia64.
it will take
earlycon=uart,io,0x3f8,9600n8 console=ttyS0,9600n8

but Bjorn said that don't let the customer to key two times about
console command line.
Then come this patch. will take
earlycon=uart,io,0x3f8,9600n8
and it will switch to console ttyS0 automatically. ---- by calling
add_preferred_console.

Still need Bjorn to:
1. remove early_serial_console_init call in ia64 setup_arch.
2. verify mem io 8250 compatiable card.

for 2, in x86 platform we need to use fix_to_virt and fix map to give
it one fixed virtual address. == like Eric did for usb debug port
console.

I will send out another in email about updated early dbgp console with
current tree.

YH
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/