]> git.karo-electronics.de Git - karo-tx-linux.git/blob - tools/virtio/asm/barrier.h
Merge remote-tracking branches 'regmap/topic/atomic', 'regmap/topic/debugfs' and...
[karo-tx-linux.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