[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 18/28] target/s390x: Always use cpu_atomic_cmpxchgl_be_mmu in do_c
From: |
Richard Henderson |
Subject: |
[PULL 18/28] target/s390x: Always use cpu_atomic_cmpxchgl_be_mmu in do_csst |
Date: |
Tue, 23 May 2023 16:57:54 -0700 |
Eliminate the CONFIG_USER_ONLY specialization.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/s390x/tcg/mem_helper.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/target/s390x/tcg/mem_helper.c b/target/s390x/tcg/mem_helper.c
index c757612244..aa8ec6ba6d 100644
--- a/target/s390x/tcg/mem_helper.c
+++ b/target/s390x/tcg/mem_helper.c
@@ -1800,13 +1800,7 @@ static uint32_t do_csst(CPUS390XState *env, uint32_t r3,
uint64_t a1,
uint32_t ov;
if (parallel) {
-#ifdef CONFIG_USER_ONLY
- uint32_t *haddr = g2h(env_cpu(env), a1);
- ov = qatomic_cmpxchg__nocheck(haddr, cv, nv);
-#else
- MemOpIdx oi = make_memop_idx(MO_TEUL | MO_ALIGN, mem_idx);
- ov = cpu_atomic_cmpxchgl_be_mmu(env, a1, cv, nv, oi, ra);
-#endif
+ ov = cpu_atomic_cmpxchgl_be_mmu(env, a1, cv, nv, oi4, ra);
} else {
ov = cpu_ldl_mmu(env, a1, oi4, ra);
cpu_stl_mmu(env, a1, (ov == cv ? nv : ov), oi4, ra);
--
2.34.1
- [PULL 10/28] include/host: Split out atomic128-cas.h, (continued)
- [PULL 10/28] include/host: Split out atomic128-cas.h, Richard Henderson, 2023/05/23
- [PULL 09/28] util: Add cpuinfo-aarch64.c, Richard Henderson, 2023/05/23
- [PULL 11/28] include/host: Split out atomic128-ldst.h, Richard Henderson, 2023/05/23
- [PULL 21/28] accel/tcg: Eliminate #if on HAVE_ATOMIC128 and HAVE_CMPXCHG128, Richard Henderson, 2023/05/23
- [PULL 17/28] target/s390x: Use cpu_{ld,st}*_mmu in do_csst, Richard Henderson, 2023/05/23
- [PULL 16/28] accel/tcg: Unify cpu_{ld,st}*_{be,le}_mmu, Richard Henderson, 2023/05/23
- [PULL 20/28] accel/tcg: Remove prot argument to atomic_mmu_lookup, Richard Henderson, 2023/05/23
- [PULL 12/28] meson: Fix detect atomic128 support with optimization, Richard Henderson, 2023/05/23
- [PULL 13/28] include/qemu: Move CONFIG_ATOMIC128_OPT handling to atomic128.h, Richard Henderson, 2023/05/23
- [PULL 14/28] target/ppc: Use tcg_gen_qemu_{ld, st}_i128 for LQARX, LQ, STQ, Richard Henderson, 2023/05/23
- [PULL 18/28] target/s390x: Always use cpu_atomic_cmpxchgl_be_mmu in do_csst,
Richard Henderson <=
- [PULL 27/28] tcg: Remove DEBUG_DISAS, Richard Henderson, 2023/05/23
- [PULL 19/28] accel/tcg: Remove cpu_atomic_{ld,st}o_*_mmu, Richard Henderson, 2023/05/23
- [PULL 24/28] tcg: Split out tcg/debug-assert.h, Richard Henderson, 2023/05/23
- [PULL 15/28] target/s390x: Use tcg_gen_qemu_{ld, st}_i128 for LPQ, STPQ, Richard Henderson, 2023/05/23
- [PULL 22/28] qemu/atomic128: Split atomic16_read, Richard Henderson, 2023/05/23
- [PULL 25/28] qemu/atomic128: Improve cmpxchg fallback for atomic16_set, Richard Henderson, 2023/05/23
- [PULL 23/28] accel/tcg: Correctly use atomic128.h in ldst_atomicity.c.inc, Richard Henderson, 2023/05/23
- [PULL 28/28] tcg: Remove USE_TCG_OPTIMIZATIONS, Richard Henderson, 2023/05/23
- [PULL 26/28] qemu/atomic128: Add runtime test for FEAT_LSE2, Richard Henderson, 2023/05/23