On Tue, Sep 29, 2020 at 5:32 PM Andrew Lunn <andrew@xxxxxxx> wrote: > > On Tue, Sep 29, 2020 at 04:55:40PM +0300, Andy Shevchenko wrote: > > On Tue, Sep 29, 2020 at 4:43 PM Andrew Lunn <andrew@xxxxxxx> wrote: > > > On Tue, Sep 29, 2020 at 10:47:03AM +0530, Calvin Johnson wrote: > > > > On Fri, Sep 25, 2020 at 02:34:21PM +0100, Grant Likely wrote: > > > > ... > > > > > Newbie ACPI question: Does ACPI even support big endian CPUs, given > > > its x86 origins? > > > > I understand the newbie part, but can you elaborate what did you mean > > under 'support'? > > To me it sounds like 'network stack was developed for BE CPUs, does it > > support LE ones?' > > Does ACPI define the endianness of its tables? Is it written in the > standard that they should be little endian? 5.2: "All numeric values in ACPI-defined tables, blocks, and structures are always encoded in little endian format. Signature values are stored as fixed-length strings." > Does Tianocore, or any > other implementations, have the needed le32_to_cpu() calls so that > they can boot on a big endian CPU? Not of my knowledge. > Does it have a standardized way of > saying a device is big endian, swap words around if appropriate when > doing IO? I guess this is not applicable to ACPI. Does Linux have a standardized way? So, what did you mean under doing I/O? I mean in which context? > Is it feasible to boot an ARM system big endian? Not an ARM guy. > Can i boot the same > system little endian? The CPU should be able to do it, but are the > needed things in the ACPI specification and implementation to allow > it? -- With Best Regards, Andy Shevchenko