summary refs log tree commit diff stats
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
parent9277bc72cf9be32f7a7c1a6353d29da34bafe0d0 (diff)
downloadfocaccia-qemu-ab19b0ecfddf94ae2053b973cea5a58c8dac0363.tar.gz
focaccia-qemu-ab19b0ecfddf94ae2053b973cea5a58c8dac0363.zip
ARMv7-M interrupt stack alignment fix.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4823 c046a42c-6fe2-441c-8c8c-71466251a162
-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.  */