lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ