Which register excactly control the endiness in the EL0 data access? SPSR_EL1 or SCTLR_EL1?


Suppose all exception Ievels support both big and little endian operation. According to the ARMv8 ARMARM, when exception taken from AArch32 state, the SPSR_EL1.E bit can control the endianess on executing an exception return operation in EL1, which means it can control the endianess of the EL0, if I am not missing something.

But there is also a contrl register named SCTLR_EL1, and the E0E bit do control the endianness of data accesses at EL0.

I am confused with the SPSR_EL1.E bit and the SCTLR_EL1.E0E bit. If they set the confilct configuration, what will the processer behave? Same with the SCTLR_EL2 and SPSR_EL2...

Regards, George.

More questions in this forum