xref: /linux/tools/virtio/asm/barrier.h (revision c4ee0af3fa0dc65f690fc908f02b8355f9576ea0)
1 #if defined(__i386__) || defined(__x86_64__)
2 #define barrier() asm volatile("" ::: "memory")
3 #define mb() __sync_synchronize()
4 
5 #define smp_mb()	mb()
6 # define smp_rmb()	barrier()
7 # define smp_wmb()	barrier()
8 /* Weak barriers should be used. If not - it's a bug */
9 # define rmb()	abort()
10 # define wmb()	abort()
11 #else
12 #error Please fill in barrier macros
13 #endif
14 
15