aboutsummaryrefslogtreecommitdiff
path: root/target-arm/helper.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2015-03-16 12:30:47 +0000
committerPeter Maydell <peter.maydell@linaro.org>2015-03-16 12:30:47 +0000
commitda3e53ddcb0ca924da97ca5a35605fc554aa3e05 (patch)
treec04cccb337bcee257c25d64c98ac15a8b8827321 /target-arm/helper.c
parentf0bb55890a173cb1e9e87d608647cac70f8f9dd4 (diff)
target-arm: Fix handling of STM (user) with r15 in register list
The A32 encoding of LDM distinguishes LDM (user) from LDM (exception return) based on whether r15 is in the register list. However for STM (user) there is no equivalent distinction. We were incorrectly treating "r15 in list" as indicating exception return for both LDM and STM, with the result that an STM (user) involving r15 went into an infinite loop. Fix this; note that the value stored for r15 in this case is the current PC regardless of our current mode. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1426015125-5521-1-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'target-arm/helper.c')
0 files changed, 0 insertions, 0 deletions