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

Konrad Rzeszutek Wilk
2012-03-24T19:22:06Z

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.