ARM: fix ldrexd/strexd
commit2c9adbda721c9996ec6b371cac4a00c1164b818e
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 7 Dec 2010 15:37:34 +0000 (7 15:37 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 7 Dec 2010 15:37:34 +0000 (7 15:37 +0000)
treee2b26c30811dd0a35f069073929d427bd6fa3116
parent49e14940adeea797abd2be4ccda97d0349b22aae
ARM: fix ldrexd/strexd

Correct ldrexd and strexd code to always read and write the
high word of the 64-bit value from addr+4.
Also make ldrexd and strexd agree that for a 64 bit value the
address in env->exclusive_addr is that of the low word.

This fixes the issues reported in
https://bugs.launchpad.net/qemu/+bug/670883

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Nathan Froyd <froydnj@codesourcery.com>
linux-user/main.c
target-arm/translate.c