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> |
||
|---|---|---|
| .. | ||
| alpha | ||
| arm | ||
| cris | ||
| i386 | ||
| m68k | ||
| microblaze | ||
| mips | ||
| mips64 | ||
| mipsn32 | ||
| ppc | ||
| sh4 | ||
| sparc | ||
| sparc64 | ||
| x86_64 | ||
| cpu-uname.c | ||
| cpu-uname.h | ||
| elfload.c | ||
| errno_defs.h | ||
| flat.h | ||
| flatload.c | ||
| ioctls.h | ||
| linux_loop.h | ||
| linuxload.c | ||
| m68k-sim.c | ||
| main.c | ||
| mmap.c | ||
| qemu-types.h | ||
| qemu.h | ||
| signal.c | ||
| socket.h | ||
| strace.c | ||
| strace.list | ||
| syscall.c | ||
| syscall_defs.h | ||
| syscall_types.h | ||
| uaccess.c | ||
| vm86.c | ||