xref: /kvmtool/mips/include/kvm/barrier.h (revision 7281a8db199b95e47ff80c73765709372cd08f1e)
1 #ifndef _KVM_BARRIER_H_
2 #define _KVM_BARRIER_H_
3 
4 #define barrier() asm volatile("": : :"memory")
5 
6 #define mb()	asm volatile (".set push\n\t.set mips2\n\tsync\n\t.set pop": : :"memory")
7 #define rmb() mb()
8 #define wmb() mb()
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