OSDN Git Service

target-arm: In cpsr_write() ignore mode switches from User mode
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 23 Feb 2016 15:36:43 +0000 (15:36 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 26 Feb 2016 15:09:41 +0000 (15:09 +0000)
commitcb01d3912c8b000ed26d5fe95f6c194b3e3ba7a6
tree1482249d7b141245cf2048e98770414ad37b43da
parentae08792301c182bdec48656dee3dce38b3391a1a
target-arm: In cpsr_write() ignore mode switches from User mode

The only case where we can attempt a cpsr_write() mode switch from
User is from the gdbstub; all other cases are handled in the
calling code (notably translate.c). Architecturally attempts to
alter the mode bits from user mode are simply ignored (and not
treated as a bad mode switch, which in v8 sets CPSR.IL). Make
mode switches from User ignored in cpsr_write() as well, for
consistency.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Sergey Fedorov <serge.fdrv@gmail.com>
Message-id: 1455556977-3644-6-git-send-email-peter.maydell@linaro.org
target-arm/helper.c