1 #if defined(__i386__) || defined(__x86_64__)
2 #define barrier() asm volatile("" ::: "memory")
3 #define mb() __sync_synchronize()
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()
14 #error Please fill in barrier macros