qemu/atomic128: Split atomic16_read
commit21c38f31c0f1d185feaefe39c367a12225b29089
authorRichard Henderson <richard.henderson@linaro.org>
Sat, 20 May 2023 01:30:28 +0000 (19 18:30 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 24 May 2023 01:54:55 +0000 (23 18:54 -0700)
treee7e518a75ae1c6d8964194b7ca9ad97f1af7d68d
parent4deb39ebb33d97e2ad5466e1b5b5e7c50ad83a0a
qemu/atomic128: Split atomic16_read

Create both atomic16_read_ro and atomic16_read_rw.
Previously we pretended that we had atomic16_read in system mode,
because we "know" that all ram is always writable to the host.
Now, expose read-only and read-write versions all of the time.

For aarch64, do not fall back to __atomic_read_16 even if
supported by the compiler, to work around a clang bug.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
host/include/aarch64/host/atomic128-ldst.h
host/include/generic/host/atomic128-ldst.h
target/s390x/tcg/mem_helper.c