 f703f1ef99
			
		
	
	
		f703f1ef99
		
	
	
	
	
		
			
			By default, C function prototypes declared in headers are visible, so there is no need to declare them as 'extern' functions. Remove this redundancy in a single bulk commit; do not modify: - meson.build (used to check function availability at runtime) - pc-bios/ - libdecnumber/ - tests/ - *.c Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20230605175647.88395-5-philmd@linaro.org>
		
			
				
	
	
		
			28 lines
		
	
	
		
			723 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			723 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Process-global memory barriers
 | |
|  *
 | |
|  * Copyright (c) 2018 Red Hat, Inc.
 | |
|  *
 | |
|  * Author: Paolo Bonzini <pbonzini@redhat.com>
 | |
|  */
 | |
| 
 | |
| #ifndef QEMU_SYS_MEMBARRIER_H
 | |
| #define QEMU_SYS_MEMBARRIER_H
 | |
| 
 | |
| #ifdef CONFIG_MEMBARRIER
 | |
| /* Only block reordering at the compiler level in the performance-critical
 | |
|  * side.  The slow side forces processor-level ordering on all other cores
 | |
|  * through a system call.
 | |
|  */
 | |
| void smp_mb_global_init(void);
 | |
| void smp_mb_global(void);
 | |
| #define smp_mb_placeholder()       barrier()
 | |
| #else
 | |
| /* Keep it simple, execute a real memory barrier on both sides.  */
 | |
| static inline void smp_mb_global_init(void) {}
 | |
| #define smp_mb_global()            smp_mb()
 | |
| #define smp_mb_placeholder()       smp_mb()
 | |
| #endif
 | |
| 
 | |
| #endif
 |