lkml.org 
[lkml]   [2012]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] ACPI: Implement overriding of arbitrary ACPI tables via initrd
    > 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


    \
     
     \ /
      Last update: 2012-03-24 19:49    [W:0.261 / U:0.644 seconds]
    ©2003-2014 Jasper Spaans. Advertise on this site