76f9d6ad19
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>
21 lines
511 B
C
21 lines
511 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Helper file for declaring TCG helper functions.
|
|
* This one expands prototypes for the helper functions.
|
|
*/
|
|
|
|
#ifndef HELPER_PROTO_COMMON_H
|
|
#define HELPER_PROTO_COMMON_H
|
|
|
|
#include "qemu/atomic128.h" /* for HAVE_CMPXCHG128 */
|
|
|
|
#define HELPER_H "accel/tcg/tcg-runtime.h"
|
|
#include "exec/helper-proto.h.inc"
|
|
#undef HELPER_H
|
|
|
|
#define HELPER_H "accel/tcg/plugin-helpers.h"
|
|
#include "exec/helper-proto.h.inc"
|
|
#undef HELPER_H
|
|
|
|
#endif /* HELPER_PROTO_COMMON_H */
|