Re: [PATCH 1/2] lib: Add early cpio decoder

From: H. Peter Anvin
Date: Tue Sep 04 2012 - 13:00:43 EST


On 08/30/2012 02:29 AM, Thomas Renninger wrote:
From: "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx>

Add a simple cpio decoder without library dependencies for the purpose
of extracting components from the initramfs blob for early kernel
uses. Intended consumers so far are microcode and ACPI override.

Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
CC: Thomas Renninger <trenn@xxxxxxx>
Link: http://lkml.kernel.org/r/201203261651.29640.trenn@xxxxxxx
Signed-off-by: Thomas Renninger <trenn@xxxxxxx>

I was trying to figure out if there is a way to do what you want (support for multiple files) without the problems of the callback interface. I think it is actually fairly straightforward; we need a prefix iterator (so you can give it a string like "kernel/acpi/" rather than a full filename) and it needs to be able to accept a "last" pointer so it can resume scanning at the point it last left off. That should be a pretty trivial change.

The other thing we presumably want to do -- and this is generic -- is to be able to handle multiple sources for the initramfs; at the very least there is built in vs provided from the boot loader. I had originally intended to just handle that by calling the earlycpio function once per block, but the "last left off" bit makes that a little harder. Need to think about that a little bit.

I am guessing that this may not need to be something we need from the very beginning, or am I wrong?

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

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