qemu-e2k/target-arm
Alex Bennée 5460da501a target-arm/translate-a64: fix gen_load_exclusive
While testing rth's latest TCG patches with risu I found ldaxp was
broken. Investigating further I found it was broken by 1dd089d0 when
the cmpxchg atomic work was merged. As part of that change the code
attempted to be clever by doing a single 64 bit load and then shuffle
the data around to set the two 32 bit registers.

As I couldn't quite follow the endian magic I've simply partially
reverted the change to the original code gen_load_exclusive code. This
doesn't affect the cmpxchg functionality as that is all done on in
gen_store_exclusive part which is untouched.

I've also restored the comment that was removed (with a slight tweak
to mention cmpxchg).

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Richard Henderson <rth@twiddle.net>
Message-id: 20161202173454.19179-1-alex.bennee@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-12-05 17:52:01 +00:00
..
arch_dump.c
arm_ldst.h cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
arm-powerctl.c target-arm/arm-powerctl: wake up sleeping CPUs 2016-10-31 10:51:16 +01:00
arm-powerctl.h
arm-semi.c target-arm/arm-semi.c: In SYS_HEAPINFO use correct type for 'limit' 2016-07-07 13:47:00 +01:00
cpu64.c arm: Add an option to turn on/off vPMU support 2016-10-28 15:51:27 +01:00
cpu-qom.h exec: move cpu_exec_init() calls to realize functions 2016-10-24 17:29:16 -02:00
cpu.c arm: Add an option to turn on/off vPMU support 2016-10-28 15:51:27 +01:00
cpu.h arm: Add an option to turn on/off vPMU support 2016-10-28 15:51:27 +01:00
crypto_helper.c
gdbstub64.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
gdbstub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
helper-a64.c target-arm: emulate aarch64's LL/SC using cmpxchg helpers 2016-10-26 08:29:02 -07:00
helper-a64.h target-arm: emulate aarch64's LL/SC using cmpxchg helpers 2016-10-26 08:29:02 -07:00
helper.c Fix corruption of CPSR when SCTLR.EE is set 2016-11-07 10:00:24 +00:00
helper.h
internals.h target-arm: remove EXCP_STREX + cpu_exclusive_{test, info} 2016-10-26 08:29:02 -07:00
iwmmxt_helper.c
kvm32.c os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
kvm64.c arm: Add an option to turn on/off vPMU support 2016-10-28 15:51:27 +01:00
kvm_arm.h target-arm: move gicv3_class_name from machine to kvm_arm.h 2016-10-04 13:28:08 +01:00
kvm-consts.h
kvm-stub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
kvm.c target-arm: kvm: use AddressSpace-specific listener 2016-10-17 19:22:16 +01:00
machine.c target-arm: move gicv3_class_name from machine to kvm_arm.h 2016-10-04 13:28:08 +01:00
Makefile.objs target-arm/arm-powerctl: wake up sleeping CPUs 2016-10-31 10:51:16 +01:00
monitor.c target-arm/monitor.c: Advertise emulated GICv3 in capabilities 2016-06-17 15:23:51 +01:00
neon_helper.c target-arm: Fix warn about implicit conversion 2016-08-12 11:12:24 +01:00
op_addsub.h
op_helper.c Fix masking of PC lower bits when doing exception returns 2016-10-17 19:29:03 +01:00
psci.c Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
trace-events target-arm: Add trace events for the generic timers 2016-10-17 19:32:44 +01:00
translate-a64.c target-arm/translate-a64: fix gen_load_exclusive 2016-12-05 17:52:01 +00:00
translate.c log: Add locking to large logging blocks 2016-11-01 10:29:03 -06:00
translate.h target-arm: remove EXCP_STREX + cpu_exclusive_{test, info} 2016-10-26 08:29:02 -07:00