1 #ifndef _KVM_BARRIER_H_ 2 #define _KVM_BARRIER_H_ 3 4 #define barrier() asm volatile("": : :"memory") 5 6 #define mb() asm volatile ("mfence": : :"memory") 7 #define rmb() asm volatile ("lfence": : :"memory") 8 #define wmb() asm volatile ("sfence": : :"memory") 9 10 #ifdef CONFIG_SMP 11 #define smp_mb() mb() 12 #define smp_rmb() rmb() 13 #define smp_wmb() wmb() 14 #else 15 #define smp_mb() barrier() 16 #define smp_rmb() barrier() 17 #define smp_wmb() barrier() 18 #endif 19 20 #endif /* _KVM_BARRIER_H_ */ 21