2013-03-18 10:52:19 +08:00
|
|
|
#if defined(__i386__) || defined(__x86_64__)
|
|
|
|
#define barrier() asm volatile("" ::: "memory")
|
|
|
|
#define mb() __sync_synchronize()
|
|
|
|
|
|
|
|
#define smp_mb() mb()
|
2015-09-10 03:03:30 +08:00
|
|
|
# define dma_rmb() barrier()
|
|
|
|
# define dma_wmb() barrier()
|
2013-03-18 10:52:19 +08:00
|
|
|
# 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
|
|
|
|
|