Skip to contentSkip to conversation

kvm tool: Add own barrier() definition

PATCH Applied Cyrill Gorcunov 2 participants 2 messages May 8, 2012 KVM

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 kvm tool: Add own barrier() definition

Otherwise I'm getting the following compile problem on my Fedora machine. The helper is rather taken from linux kernel.

| [cyrill@moon kvm]$ make tags
| x86/include/kvm/barrier.h:11:25: fatal error: asm/barrier.h: No such file or directory compilation terminated.

---
 tools/kvm/x86/include/kvm/barrier.h |   21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)
tools/kvm/x86/include/kvm/barrier.h +14 -7
Index: linux-2.6.git/tools/kvm/x86/include/kvm/barrier.h
===================================================================
@@ -1,13 +1,20 @@
 #ifndef _KVM_BARRIER_H_
 #define _KVM_BARRIER_H_
 
-/*
- * asm/system.h cannot be #included standalone on 32-bit x86 yet.
- *
- * Provide the dependencies here - we can drop these wrappers once
- * the header is fixed upstream:
- */
+#define barrier() asm volatile("": : :"memory")
 
-#include <asm/barrier.h>
+#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_ */
Applied
#1 lore raw
Quoted 9 lines · Cyrill Gorcunov

Otherwise I'm getting the following compile problem on my Fedora machine. The helper is rather taken from linux kernel.

| [cyrill@moon kvm]$ make tags
| x86/include/kvm/barrier.h:11:25: fatal error: asm/barrier.h: No such file or directory compilation terminated.

Applied, thanks!