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

H. Peter Anvin
2012-03-24T19:45:32Z

You're missing the point. Unless you have specific rules how to deal.with extensions, and what thise extensions may do, you're not adding anything.

I think the simpler just use cpio idea still wins out in my mind.

Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:

>On Sat, Mar 24, 2012 at 12:15:59PM -0700, H. Peter Anvin wrote:
>> On 03/24/2012 11:42 AM, Konrad Rzeszutek Wilk wrote:
>> >
>> > Probably should also have:
>> > u32 version;
>> >
>> > in case we decide to expand this structure in the future, and:
>> >> u32 type; /* 1 = file data, 2 = ACPI, 3 = microcode... */
>> >> u32 length; /* Length of data object */
>> >> };
>> >
>> > and encapsulate the whole thing in a 4K union?
>> >
>>
>> For "version" you'd have to define what happens if you see a version
>> number you don't recognize, and why that is in any way better than
>> changing the magic number or the type. It is something that people
>like
>> to throw in without thinking about it, and that is a mistake.
>
>I was thinking of interface version. So the first would be 1, and if
>there are extensions (so version 2 for example), it should support 1
>and 2.
>The idea is to expand past the structure with newer additions without
>breaking the binary interface.
>
>>
>> Forcing everything to be page-aligned may be a good idea, although
>that
>> assumes all bootloaders actually align them that way...
>
>Oh, and be 4K.
>>
>> >
>> > Perhaps the header should be in big-endian (that is the same as the
>network
>> > byte order, right?) and each sub-type can define its own endian?
>> >
>>
>> The content of the encapsulation is its own thing; it will be
>different
>> for different types as most of them already
>>
>> -hpa
>>
>> --
>> H. Peter Anvin, Intel Open Source Technology Center
>> I work for Intel. I don't speak on their behalf.

--
Sent from my mobile phone. Please excuse my brevity and lack of formatting.