linux-user: arm: handle CPSR.E correctly in strex emulation
commitc3ae85fc8f36b64fb73038214e4359f1e470d169
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 4 Mar 2016 11:30:19 +0000 (4 11:30 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 4 Mar 2016 11:30:19 +0000 (4 11:30 +0000)
treeb9b06861abb5e74839813b558fb6649eacbc6fa5
parent9c5a7460389e92d230362a983b5a4158d6a1cefe
linux-user: arm: handle CPSR.E correctly in strex emulation

Now that CPSR.E is set correctly, prepare for when setend will be able
to change it; bswap data in and out of strex manually by comparing
SCTLR.B, CPSR.E and TARGET_WORDS_BIGENDIAN (we do not have the luxury
of using TCGMemOps).

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[ PC changes:
  * Moved SCTLR/CPSR logic to arm_cpu_data_is_big_endian
]
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
linux-user/main.c
target-arm/cpu.h