aboutsummaryrefslogtreecommitdiff
path: root/accel/tcg
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2022-10-21 21:24:40 +1000
committerRichard Henderson <richard.henderson@linaro.org>2023-05-16 15:21:38 -0700
commit37031fefc777a715320f86fc35ee3dd82d9d945e (patch)
treee04cc287d1b1ba26eae2d1aa6ede50272a56b5db /accel/tcg
parent988998503bc6d8c03fbea001a0513e8372fddf28 (diff)
downloadqemu-37031fefc777a715320f86fc35ee3dd82d9d945e.zip
qemu-37031fefc777a715320f86fc35ee3dd82d9d945e.tar.gz
qemu-37031fefc777a715320f86fc35ee3dd82d9d945e.tar.bz2
include/exec/memop: Add MO_ATOM_*
This field may be used to describe the precise atomicity requirements of the guest, which may then be used to constrain the methods by which it may be emulated by the host. For instance, the AArch64 LDP (32-bit) instruction changes semantics with ARMv8.4 LSE2, from MO_64 | MO_ATOM_IFALIGN_PAIR (64-bits, single-copy atomic only on 4 byte units, nonatomic if not aligned by 4), to MO_64 | MO_ATOM_WITHIN16 (64-bits, single-copy atomic within a 16 byte block) The former may be implemented with two 4 byte loads, or a single 8 byte load if that happens to be efficient on the host. The latter may not be implemented with two 4 byte loads and may also require a helper when misaligned. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'accel/tcg')
0 files changed, 0 insertions, 0 deletions