[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201009221044.58735.bjorn.helgaas@hp.com>
Date: Wed, 22 Sep 2010 10:44:58 -0600
From: Bjorn Helgaas <bjorn.helgaas@...com>
To: "H. Peter Anvin" <hpa@...or.com>
Cc: mingo@...hat.com, linux-kernel@...r.kernel.org, yinghai@...nel.org,
just.for.lkml@...glemail.com, tglx@...utronix.de,
hpa@...ux.intel.com, Feng Tang <feng.tang@...el.com>,
Alan Cox <alan@...ux.intel.com>, greg@...ah.com
Subject: Re: Early console confusion
On Wednesday, September 22, 2010 09:56:15 am H. Peter Anvin wrote:
> On 09/22/2010 08:12 AM, Bjorn Helgaas wrote:
> > Can somebody explain the differences between
> >
> > earlycon=uart,...
> > earlycon=uart8250,...
> > earlyprintk=serial,...
> > console=uart,...
> > console=uart8250,...
> >
> > I'm not really convinced we need them all, and it's getting a
> > little confusing.
>
> Some of them come from the embedded industry, where it's felt that you
> have to be able to specify the exact parameters because there are no
> standards, and some come from the PC world where "serial port 0" is a
> well-defined concept and noone wants to bloody call it "uart8250,0x3f8".
OK, my fault for not asking a specific question :-) Let me try again.
For "earlycon=" and "console=", we support both "uart" and "uart8250".
I see the value of "uart8250", because we might want to support a
non-8250 UART someday. But keeping "uart" just seems confusing.
We support both of the following, but I can't tell what the difference
is or why we need both:
earlycon=uart8250,io,0x3f8,9600n8
console=uart8250,io,0x3f8,9600n8
We support both of the following (per kernel-parameters.txt, anyway),
but again, I don't know what the difference is:
earlyprintk=serial,ttyS0
earlyprintk=ttyS0
If we don't like "uart8250,io,0x3f8" (which I agree is awfully clunky),
we could easily add something like "console=com1" which encapsulated
the well-defined PC concept. It would be similar to "earlyprintk=ttyS0",
and if it could be made *enough* like it, maybe "earlyprintk=ttyS0"
could be dropped.
I also see the recent "earlyprintk=hsu" patch from Feng Tang, and I
wonder whether that could be recast in the "console=hsu" style. Like
"com1", "hsu" is apparently enough to specifically identify a device.
I think it's nicer to extend "console=" in ways that allow early
devices, because then users don't have to mess with both "console="
and "earlyprintk=". The 8250_early driver has a reasonable model
of switching from the early device to the real one automatically,
so maybe something like this is all we would need:
console=ttyS0 (late only, use whatever device becomes ttyS0)
console=com1 (early and late, use I/O port 0x3f8 on PCs)
console=hsu (early and late, use Medfield UART)
console=uart8250,mmio,... (early and late, for MMIO UARTs)
console=uartXYZ,mmio,... (early and late, for non-8250 UARTs)
console=vga (early and late, use legacy VGA (switch to tty0 late))
console=tty0 (late only)
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists