]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - tools/kvm/x86/include/kvm/barrier.h
kvm tools: Add own barrier() definition
[karo-tx-linux.git] / tools / kvm / x86 / include / kvm / barrier.h
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_ */