xref: /kvm-unit-tests/lib/asm-generic/barrier.h (revision 951e6299b30016bf04a343973296c4274e87f0e2)
1 #ifndef _ASM_GENERIC_BARRIER_H_
2 #define _ASM_GENERIC_BARRIER_H_
3 /*
4  * asm-generic/barrier.h
5  *
6  * Copyright (C) 2016, Red Hat Inc, Alexander Gordeev <agordeev@redhat.com>
7  *
8  * This work is licensed under the terms of the GNU LGPL, version 2.
9  */
10 
11 #ifndef mb
12 #define mb()	asm volatile("":::"memory")
13 #endif
14 #ifndef rmb
15 #define rmb()	asm volatile("":::"memory")
16 #endif
17 #ifndef wmb
18 #define wmb()	asm volatile("":::"memory")
19 #endif
20 
21 #ifndef smp_mb
22 #define smp_mb()	mb()
23 #endif
24 #ifndef smp_rmb
25 #define smp_rmb()	rmb()
26 #endif
27 #ifndef smp_wmb
28 #define smp_wmb()	wmb()
29 #endif
30 
31 #ifndef cpu_relax
32 #define cpu_relax()	asm volatile ("":::"memory")
33 #endif
34 
35 #endif /* _ASM_GENERIC_BARRIER_H_ */
36