Commit | Line | Data |
---|---|---|
21f55651 JA |
1 | #ifndef BARRIER_H |
2 | #define BARRIER_H | |
3 | ||
4 | #if defined(__ia64__) | |
5 | #define store_barrier() asm volatile ("mf" ::: "memory") | |
6 | #elif defined(__x86_64__) | |
7 | #define store_barrier() asm volatile("sfence" ::: "memory") | |
8 | #elif defined(__i386__) | |
9 | #define store_barrier() asm volatile ("": : :"memory") | |
10 | #elif defined(__ppc__) || defined(__powerpc__) | |
11 | #define store_barrier() asm volatile ("eieio" : : : "memory") | |
b8801569 JA |
12 | #elif defined(__s390__) || defined(__s390x__) |
13 | #define store_barrier() asm volatile ("bcr 15,0" : : : "memory") | |
21f55651 JA |
14 | #else |
15 | #error Define store_barrier() for your CPU | |
16 | #endif | |
17 | ||
18 | #endif |