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 */
 |