Rusty Russell | 61d0b5a4 | 2013-03-18 13:22:19 +1030 | [diff] [blame] | 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 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 |