mirror of https://gitee.com/openkylin/linux.git
15 lines
361 B
C
15 lines
361 B
C
|
#if defined(__i386__) || defined(__x86_64__)
|
||
|
#define barrier() asm volatile("" ::: "memory")
|
||
|
#define mb() __sync_synchronize()
|
||
|
|
||
|
#define smp_mb() mb()
|
||
|
# define smp_rmb() barrier()
|
||
|
# define smp_wmb() barrier()
|
||
|
/* Weak barriers should be used. If not - it's a bug */
|
||
|
# define rmb() abort()
|
||
|
# define wmb() abort()
|
||
|
#else
|
||
|
#error Please fill in barrier macros
|
||
|
#endif
|
||
|
|