Re: [PATCH] ACPI: Implement overriding of arbitrary ACPI tables via initrd
From: Konrad Rzeszutek Wilk <hidden>
Date: 2012-03-24 18:47:30
Also in:
lkml
2. We create a new simple header (just a magic number, an identifier
for the type of data, and a length) for each of the early-initrd
objects:
struct early_initrd_header {
u64 magic; /* 0xa5a46ce422d8f5a1 */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?
XXX: Should we make this a defined endianness (presumably bigendian), or use host-endianness? I would guess the former might be better...
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 sub-types could be:
struct microcode_type {
u64 magic;
u32 version;
#define BIG_ENDIAN 1<<1
#define LITTLE_ENDIAN 1<<2
u32 flags;
}
and that could be attached to the end of the 'early_initrd_header' ?
Either of these allow one piece of code to quickly bypass bits that doesn't belong to it. Thoughts? -hpa -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html