unicorn/qemu/target-arm
Alex Bennée f4c65739f3
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).

Backports commit 5460da501a57cd72eda6fec736d76539122e2f99 from qemu
2018-03-01 09:09:16 -05:00
..
arm_ldst.h cpu: move exec-all.h inclusion out of cpu.h 2018-02-24 02:39:08 -05:00
cpu64.c arm: Add an option to turn on/off vPMU support 2018-02-28 08:49:23 -05:00
cpu-qom.h target-arm: make cpu-qom.h not target specific 2018-02-24 00:48:59 -05:00
cpu.c arm: Add an option to turn on/off vPMU support 2018-02-28 08:49:23 -05:00
cpu.h target-arm: remove EXCP_STREX + cpu_exclusive_{test, info} 2018-02-28 00:24:20 -05:00
crypto_helper.c target-arm: Clean up includes 2018-02-17 21:09:32 -05:00
helper-a64.c target-arm: emulate aarch64's LL/SC using cmpxchg helpers 2018-02-28 00:21:27 -05:00
helper-a64.h target-arm: emulate aarch64's LL/SC using cmpxchg helpers 2018-02-28 00:21:27 -05:00
helper.c target-arm: Implement new HLT trap for semihosting 2018-02-26 15:28:45 -05:00
helper.h target-arm: Implement MRS (banked) and MSR (banked) instructions 2018-02-21 21:50:42 -05:00
internals.h target-arm: remove EXCP_STREX + cpu_exclusive_{test, info} 2018-02-28 00:24:20 -05:00
iwmmxt_helper.c target-arm: Clean up includes 2018-02-17 21:09:32 -05:00
kvm-consts.h arm: Add an option to turn on/off vPMU support 2018-02-28 08:49:23 -05:00
Makefile.objs delete sparc32_dma.h & arm-semi.c 2017-01-19 15:10:41 +08:00
neon_helper.c target-arm: Fix warn about implicit conversion 2018-02-25 22:44:43 -05:00
op_addsub.h import 2015-08-21 15:04:50 +08:00
op_helper.c Fix masking of PC lower bits when doing exception returns 2018-02-26 08:09:28 -05:00
psci.c Use #include "..." for our own headers, <...> for others 2018-02-25 04:10:33 -05:00
translate-a64.c target-arm/translate-a64: fix gen_load_exclusive 2018-03-01 09:09:16 -05:00
translate.c target-arm: remove EXCP_STREX + cpu_exclusive_{test, info} 2018-02-28 00:24:20 -05:00
translate.h target-arm: Infrastucture changes to enable handling of tagged address loading into PC 2018-02-26 07:58:17 -05:00
unicorn_aarch64.c qemu-common: push cpu.h inclusion out of qemu-common.h 2018-02-24 01:50:56 -05:00
unicorn_arm.c qemu-common: push cpu.h inclusion out of qemu-common.h 2018-02-24 01:50:56 -05:00
unicorn.h arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00