[lkml]   [2010]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] x86: Setup early console as early as possible
On 07/12/2010 09:21 AM, Yinghai Lu wrote:
> Can you consider to ask Pekka to anaylze "console=uart8250,io, 0x3f8,115200n8" instead?
> it looks like we can remove "earlyprintk=ttyS0,115200", or "earlyprintk=serial" etc.
> earlycon=uart8250 or console=uart8250 should be better than earlyprintk.
> because it is shared between different archs already.

Did you manage to miss my comment about that?

console= is crap, because it makes the user keep track of items they
should not have to deal with directly (unless they want to override the
defaults), i.e. the specific I/O ports used by the serial ports.

It's insanely user-unfriendly, and as far as I can see the movement has
been *toward* earlyprintk= rather than away from it. It makes sense:
it's a higher-order interface that is closer to the user.

So, no, I will not ask Pekka to change from a good user interface to a
bad one.

>> Incidentally, Yinghai: it would be possible to push even an MMIO
>> reference earlier by reserving a fixmap slot for the early console. I'm
>> not sure if it's worth it, though.
> in setup_arch() for x86, now we have
> /* VMI may relocate the fixmap; do this before touching ioremap area */
> vmi_init();
> /* OFW also may relocate the fixmap */
> olpc_ofw_detect();
> early_trap_init();
> early_cpu_init();
> early_ioremap_init()
> so may need to move these
> vmi_init()
> olpc_ofw_detect()
> early_ioremap_init()
> to i386_start_kernel(), x86_start_kernel()
> may be not worth it at this time, could do that later if needed.

Don't think so at this time, since mmio 8250 serial ports are basically
never used in the x86 world, but it could be interesting for non-8250
consoles, e.g. USB, in the future.


 \ /
  Last update: 2010-07-12 19:35    [W:0.090 / U:3.484 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site