Merge tag 'sunxi-fixes-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git...
[linux-drm-fsl-dcu.git] / tools / virtio / asm / barrier.h
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 dma_rmb()      barrier()
7 # define dma_wmb()      barrier()
8 # define smp_rmb()      barrier()
9 # define smp_wmb()      barrier()
10 /* Weak barriers should be used. If not - it's a bug */
11 # define rmb()  abort()
12 # define wmb()  abort()
13 #else
14 #error Please fill in barrier macros
15 #endif
16