Re: [BK PATCH] console changes 1

From: Andrew Morton (akpm@digeo.com)
Date: Sun Oct 13 2002 - 16:23:05 EST


Russell King wrote:
>
> On Sun, Oct 13, 2002 at 01:40:50PM -0700, James Simmons wrote:
> > Ugh!!! The reason I reworked the console system is because over the years
> > hack after hack has been added. It now has lead to this twisted monster.
> > Take a look at the fbdev driver codes in 2.4.X. Instead of another hack
> > the console system should be cleaned up with a well thought out design to
> > make the code base smaller and more effiencent.
>
> There is a very good reason why stuff like this is needed. Its to get
> the boot messages out of a non-booting box, when you know that its oopsed
> before fbcon can be initialised.
>
> fbcon can't be initialised before PCI setup on many systems because the
> PCI bus may not be setup, and therefore the VGA card may very well not
> be accessible.
>
> I think you'll find that virtually every architecture has some method
> to get real early boot time messages out of the box in some way (on ARM,
> it involves enabling CONFIG_DEBUG_LL and adding a function call into
> printk.c, and attaching a machine to a serial port - this works from
> the moment that we start executing any kernel image.)
>
> You're not going to be able to design something to cover all cases.
> Especially the ones where the normal C environment isn't up and running
> yet. 8)

Yes, there are a number of rude hacks down there to handle oopses
and early startup. It's just a messy problem, and no solution to
it will be a thing of beauty.

And early printk is obviously a useful thing to have when the
machine won't start.

I think what we need James is just the low-level hook in printk.c which
the various platforms and boards can plug into. The one in Martin's
patch (module some cleanups, docco, conversion to C, etc) looks
suitable to me. The actual early console drivers don't appear to have
much relationship at all to the console layer really. They're just
minimal-code busy-wait port banging.

The patch needs to be split.

- Generic part in printk.c. Make sure that it suits all users

- ia32 serial early console driver

- ia32 VGA early console driver.

What else?

And who's going to do it?
-
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/



This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:47 EST