Re: [08/36] AArch64: Kernel booting and initialisation

From: Arnd Bergmann
Date: Tue Jul 24 2012 - 15:24:26 EST


On Tuesday 24 July 2012, Catalin Marinas wrote:
> On Mon, Jul 23, 2012 at 09:52:22PM +0100, Christopher Covington wrote:
> > Hi Catalin and Stephen,
> >
> > Catalin Marinas - July 8, 2012, 9:18 a.m.
> > > On Fri, Jul 06, 2012 at 10:32:54PM +0100, Stephen Warren wrote:
> > >
> > >> Also, on Tegra at least and perhaps OMAP too, there are a few parts
> > >> of earlyprintk serial port setup (i.e. port selection) which happen
> > >> as part of the decompressor rather than the main kernel image, so
> > >> we'd have to re-jig that too.
> > >
> > > Whatever we did on AArch32, if it was useful and we want to follow a
> > > similar model it needs porting given that the code cannot be shared. So
> > > there is nothing to re-jig but rather implement.
> > >
> > > As for earlyprintk, you can initialise it in the decompressed kernel
> > > anyway. But even though it's a useful debugging tool, it goes against
> > > the single Image aim (at least the current printascii/addruart
> > > implementation). I don't have a proper implementation yet.
> >
> > Would DCC [1] be a reasonably commonly available early printk mechanism
> > for the single image to provide?
>
> Yes, this can be implemented but I think it has its own restrictions,
> requiring a JTAG connection.

Right, which means that it's not generic and we still need to make
a decision for a how we want to solve the underlying problem. The
options I see are:

1. Have no earlyprintk before loading the console drivers
2. Make the series from Domenico architecture independent code
3. Reimplement a layer like that, differently
4. Make it a compile-time option and allow this only for
low level debugging purposes but disable it in distro kernels.

Arnd
--
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/