diff options
| author | Alex Bennée | 2016-12-02 18:34:54 +0100 |
|---|---|---|
| committer | Peter Maydell | 2016-12-05 18:52:01 +0100 |
| commit | 5460da501a57cd72eda6fec736d76539122e2f99 (patch) | |
| tree | b521fd839b2458fcb8e255475f4e23a276fed4a9 /include/exec | |
| parent | Merge remote-tracking branch 'yongbok/tags/mips-20161204' into staging (diff) | |
| download | qemu-5460da501a57cd72eda6fec736d76539122e2f99.tar.gz qemu-5460da501a57cd72eda6fec736d76539122e2f99.tar.xz qemu-5460da501a57cd72eda6fec736d76539122e2f99.zip | |
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>
Diffstat (limited to 'include/exec')
0 files changed, 0 insertions, 0 deletions
