Re: [PATCH] ACPI: Implement overriding of arbitrary ACPI tables via initrd

H. Peter Anvin
2012-03-24T04:43:30Z

On 03/23/2012 08:02 PM, Thomas Renninger wrote:
>>
>> Sorry, it doesn't work that way.
> I guess this would not be the first time a good feature has been added,
> knowing that a more general API will be build around it later.
> 10 lines are really easy to adopt.
>

No, what you want is to add a new interface, which is going to have to
be maintained indefinitely. That's the problem.

>> I see two realistic options:
>>
>> 1. We use cpio encapsulation for everything, with a special namespace
>> for items used directly by the kernel, e.g. "kernel/".
>>
>> + Simple, existing tools can pick apart
>> - May lead people to believe that the early-initrd portion can be
>> compressed like the "normal" initrd portion, leading to strange
>> problems.
> Can this be implemented without using dynamic memory allocations?
> If not, it's not suitable for early APCI overriding.

Yes it can, as long as it is uncompressed. It just becomes a matter of
walking the cpio headers which is effectively a linked list.

It is more code than the simple header option, though.

By the way, if "relying on the bootloader" was an option in any way then
we would already have a solution in the form of the kernel data linked
list. Unfortunately to the best of my knowledge not a single bootloader
provides support for it.

-hpa