]> git.proxmox.com Git - qemu.git/commit
target-arm: fix ARMv7M stack alignment on reset
authorSebastian Ottlik <ottlik@fzi.de>
Tue, 10 Sep 2013 18:09:32 +0000 (19:09 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 10 Sep 2013 18:09:32 +0000 (19:09 +0100)
commitf62cafd4c87fad7bb9b9544b4cf4991d34764b11
treea334a34281af602744fff638a5e3a0e9b7280ed0
parent78dbbbe4dff95369c63bf77ee0df23371e1d6602
target-arm: fix ARMv7M stack alignment on reset

When the initial SP is loaded from the vector table on ARMv7M systems the two
least significant bits are ignored as the stack is always aligned at a four byte
boundary (see ARM DDI 0403C, B1.4.1 and B1.5.5). So far QEMU did not ignore
these bits leading to a stack alignment inconsitent with real hardware for
binaries that rely on this behaviour. This patch fixes this issue by masking the
two least significant bits when loading the SP.

Signed-off-by: Sebastian Ottlik <ottlik@fzi.de>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1378286595-27072-1-git-send-email-ottlik@fzi.de
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target-arm/cpu.c