Messages in this thread | | | Date | Tue, 23 Jun 2009 21:26:51 +0200 | From | Sam Ravnborg <> | Subject | Re: [PATCH 2/8] SFI: include/linux/sfi.h |
| |
On Tue, Jun 23, 2009 at 11:52:17PM +0800, Feng Tang wrote: > On Tue, 23 Jun 2009 17:06:54 +0800 > Sam Ravnborg <sam@ravnborg.org> wrote: > > > > +/* > > > + * Table structures must be byte-packed to match the SFI > > > specification, > > > + * as they are provided by the BIOS. > > > + */ > > > +#pragma pack(1) > > > +struct sfi_table_header { > > > + char signature[SFI_SIGNATURE_SIZE]; > > > + u32 length; > > > + u8 revision; > > > + u8 checksum; > > > + char oem_id[SFI_OEM_ID_SIZE]; > > > + char oem_table_id[SFI_OEM_TABLE_ID_SIZE]; > > > +}; > > Are they endian specific? > > In that case use the correct endian specific types. > > I can try to answer this question, Len, correct me if I'm wrong. > > These SFI tables are just byte strings, and created by FW, FW can chose > to use big-endian or little-endian in these tables based on what platform > they are used. So it's transparent for SFI driver code.
But we have "u32 length;" - but I guess the signature tell the endian then.
Sam
| |