qemu/accel/tcg
Richard Henderson 76f9d6ad19 tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128
We adjust CONFIG_ATOMIC128 and CONFIG_CMPXCHG128 with
CONFIG_ATOMIC128_OPT in atomic128.h.  It is difficult
to tell when those changes have been applied with the
ifdef we must use with CONFIG_CMPXCHG128.  So instead
use HAVE_CMPXCHG128, which triggers -Werror-undef when
the proper header has not been included.

Improves tcg_gen_atomic_cmpxchg_i128 for s390x host, which
requires CONFIG_ATOMIC128_OPT.  Without this we fall back
to EXCP_ATOMIC to single-step 128-bit atomics, which is
slow enough to cause some tests to time out.

Reported-by: Thomas Huth <thuth@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2023-07-15 08:02:49 +01:00
..
atomic_common.c.inc tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128 2023-07-15 08:02:49 +01:00
atomic_template.h accel/tcg: Remove prot argument to atomic_mmu_lookup 2023-05-23 18:54:55 -07:00
cpu-exec-common.c
cpu-exec.c accel/tcg: Always lock pages before translation 2023-07-15 08:02:33 +01:00
cputlb.c tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128 2023-07-15 08:02:49 +01:00
debuginfo.c
debuginfo.h
internal.h accel/tcg: Always lock pages before translation 2023-07-15 08:02:33 +01:00
ldst_atomicity.c.inc accel/tcg: Return bool from page_check_range 2023-07-15 08:02:32 +01:00
ldst_common.c.inc accel/tcg: Unify cpu_{ld,st}*_{be,le}_mmu 2023-05-23 18:54:28 -07:00
meson.build meson: Replace CONFIG_SOFTMMU -> CONFIG_SYSTEM_ONLY 2023-06-20 10:01:30 +02:00
monitor.c accel/tcg: remove CONFIG_PROFILER 2023-06-26 17:33:00 +02:00
perf.c accel/tcg: Unmap perf_marker 2023-06-05 12:06:49 -07:00
perf.h
plugin-gen.c tcg: Remove target-specific headers from tcg.[ch] 2023-06-05 12:04:29 -07:00
plugin-helpers.h
tb-context.h
tb-hash.h accel/tcg: Widen pc to vaddr in CPUJumpCache 2023-06-26 17:32:59 +02:00
tb-jmp-cache.h accel/tcg: Widen pc to vaddr in CPUJumpCache 2023-06-26 17:32:59 +02:00
tb-maint.c accel/tcg: Always lock pages before translation 2023-07-15 08:02:33 +01:00
tcg-accel-ops-icount.c
tcg-accel-ops-icount.h
tcg-accel-ops-mttcg.c accel: Remove unused hThread variable on TCG/WHPX 2023-06-28 13:55:35 +02:00
tcg-accel-ops-mttcg.h
tcg-accel-ops-rr.c accel: Remove unused hThread variable on TCG/WHPX 2023-06-28 13:55:35 +02:00
tcg-accel-ops-rr.h
tcg-accel-ops.c accel/tcg: remove CONFIG_PROFILER 2023-06-26 17:33:00 +02:00
tcg-accel-ops.h
tcg-all.c accel/tcg: Remove check_tcg_memory_orders_compatible 2023-06-26 17:33:00 +02:00
tcg-runtime-gvec.c tcg: Split helper-proto.h 2023-06-05 12:04:29 -07:00
tcg-runtime.c tcg: Split helper-proto.h 2023-06-05 12:04:29 -07:00
tcg-runtime.h tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128 2023-07-15 08:02:49 +01:00
trace-events
trace.h
translate-all.c accel/tcg: Always lock pages before translation 2023-07-15 08:02:33 +01:00
translator.c accel/tcg: Always lock pages before translation 2023-07-15 08:02:33 +01:00
user-exec-stub.c
user-exec.c tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128 2023-07-15 08:02:49 +01:00