blob: 46d14f67b02786ba502d2f6da8ffab9dedddfbb5 [file] [log] [blame]
#ifndef _KVM_BARRIER_H_
#define _KVM_BARRIER_H_
#define barrier() asm volatile("": : :"memory")
#define mb() asm volatile ("mfence": : :"memory")
#define rmb() asm volatile ("lfence": : :"memory")
#define wmb() asm volatile ("sfence": : :"memory")
#ifdef CONFIG_SMP
#define smp_mb() mb()
#define smp_rmb() rmb()
#define smp_wmb() wmb()
#else
#define smp_mb() barrier()
#define smp_rmb() barrier()
#define smp_wmb() barrier()
#endif
#endif /* _KVM_BARRIER_H_ */