On 02/08/2017 12:08 PM, Mathieu Malaterre wrote: > On Wed, Feb 8, 2017 at 2:21 PM, Breno Leitao <[email protected]> wrote: >> On 02/07/2017 07:22 PM, Lennart Sorensen wrote: >>> ppc64el is different since it is targeting systems where the applications >>> are expected to need a lot of ram, and switching the little endian >>> improves performance when working with GPUs (which are all designed >>> for the x86 little endian world). At the same time being able to >>> assume power8 as a minimum cpu means you can gain some instruction set >>> improvements that normal powerpc can't assume. >> >> Correct. And we can't do 32-bits userspace also, since we do not have a >> 32-bits little endian ABI. For ppc64el, bi-arch does not seem to be a valid >> feature. > > I always assumed it was possible to run ppc32 (be) or ppc64 (be) > userlands on a ppc64el system. Is this a restriction at Linux level or > hardware level ?
I think it is not easy to run cross-endianess userspace applications in Linux. I think mainly about kernel interfaces, where the kernel will continue to run in LE, and you have a Big Endian userspace. What would happen if you be interrupted? You would need to have a 'fix-endianess' layer to have it done IMO. >From a hardware perspective, the bit endianess is basically a register bit in POWER, so, from a hardware perspective it is very simple to change endianess. In fact, we used this artifact in the beginning of the bootstrap, mainly to avoid 'porting' the endianess-wise code.

