blob: aff61e13306c7bba01f143802a63d6d866f31cf5 [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()
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