aboutsummaryrefslogtreecommitdiff
path: root/target-arm
diff options
context:
space:
mode:
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2008-07-02 16:44:09 +0000
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2008-07-02 16:44:09 +0000
commitab19b0ecfddf94ae2053b973cea5a58c8dac0363 (patch)
treebfc53459e963518275285f5eae05c4ad0b55e130 /target-arm
parent9277bc72cf9be32f7a7c1a6353d29da34bafe0d0 (diff)
ARMv7-M interrupt stack alignment fix.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4823 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-arm')
-rw-r--r--target-arm/helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-arm/helper.c b/target-arm/helper.c
index 8e85435252..32c2c2e282 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -674,7 +674,7 @@ void do_interrupt_v7m(CPUARMState *env)
/* ??? Should only do this if Configuration Control Register
STACKALIGN bit is set. */
if (env->regs[13] & 4) {
- env->regs[13] += 4;
+ env->regs[13] -= 4;
xpsr |= 0x200;
}
/* Switch to the handler mode. */