Re: [RFC] kernel, logbuf: add support for external log buffer

From: Andrew Morton
Date: Tue Jul 24 2012 - 19:55:46 EST


On Mon, 11 Jun 2012 08:13:08 +0200
Heiko Schocher <hs@xxxxxxx> wrote:

> This merges support for the previously DENX-only kernel
> feature of specifying an alternative, "external" buffer
> for kernel printk messages and their associated metadata.
> This patch is based on DENX-only kernel commit:
>
> commit 212f61c7fd3b952a81d1459dd32a86a32ddfd4ce
> Author: Igor Lisitsin <igor@xxxxxxxxxxx>
> Date: Wed Apr 18 14:55:19 2007 +0400
>
> Add support for external log buffer.
>
> Add support for external log buffer, for example passed by U-Boot,
> which may already contain messages (from the boot loader and/or POST).
>
> Signed-off-by: Igor Lisitsin <igor@xxxxxxxxxxx>
>
> see:
> http://git.denx.de/?p=linux-denx.git;a=commit;h=212f61c7fd3b952a81d1459dd32a86a32ddfd4ce
>
> When this option is enabled, an architecture- or machine-specific log
> buffer is used for all printk messages. This allows entities such as
> boot loaders (e.g. U-Boot) to place printk-compatible messages into
> this buffer and for the kernel to coalesce them with its normal
> messages. This patch support this feature for arch/arm based
> boards.

Why was it done this way, rather than adding a hook to permit
architectures to insert data into the head of the existing kernel
buffer?

The latter approach would be quite simple, wouldn't it? A single line
added to printk.c which calls an arch function which locates the boot
loader buffer and prints it, with printk. And this is more flexible -
for example, there might be more than one external message stream
which we wish to capture.

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