blob: 26b7926bda8849a8b931fff6750a3ed8217dae89 [file] [log] [blame]
Rusty Russell61d0b5a42013-03-18 13:22:19 +10301#if defined(__i386__) || defined(__x86_64__)
2#define barrier() asm volatile("" ::: "memory")
3#define mb() __sync_synchronize()
4
5#define smp_mb() mb()
Michael S. Tsirkinddab2c02015-09-09 22:03:30 +03006# define dma_rmb() barrier()
7# define dma_wmb() barrier()
Rusty Russell61d0b5a42013-03-18 13:22:19 +10308# 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