Re: [PATCH] prctl: implement PR_GET_ENDIAN for all architectures

From: Michael Ellerman
Date: Wed Feb 15 2017 - 00:20:40 EST


"Maciej W. Rozycki" <macro@xxxxxxxxxxxxxx> writes:

> On Sun, 5 Feb 2017, Matt Turner wrote:
>
>> > I don't think it is other than for PPC. If you're not variable endian
>> > (which is only PPC to date), then you should know a priori what endian
>> > you are from the #defines in userspace.
>>
>> MIPS as well, but it seems strange to require the kernel to tell you
>> your endianness, when you can easily determine it yourself. Unless
>> there's something about this I don't understand.
>
> Many MIPS processors do have a reverse-endian control bit, which allows a
> user process to execute in the endianness opposite to the endianness the
> kernel runs in. The feature has been around since 1991 and the R4000 CPU,
> however support is unlikely to be ever added to the MIPS/Linux port, due
> to the complexity required for byte-swapping all the data structures
> passed in memory between the kernel and the userland. Does the PPC/Linux
> port actually implement this swapping?

No. Userspace can change endian, but it has to cope with the kernel
being in the original endian.

cheers