[tip:tools/kvm] kvm tools: Add own barrier() definition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Commit-ID:  401ce06199254753ff45f1d6299244b9d370c58f
Gitweb:     http://git.kernel.org/tip/401ce06199254753ff45f1d6299244b9d370c58f
Author:     Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
AuthorDate: Tue, 8 May 2012 13:52:40 +0400
Committer:  Pekka Enberg <penberg@xxxxxxxxxx>
CommitDate: Tue, 8 May 2012 15:31:07 +0300

kvm tools: 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.

Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxx>
---
 tools/kvm/x86/include/kvm/barrier.h |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/tools/kvm/x86/include/kvm/barrier.h b/tools/kvm/x86/include/kvm/barrier.h
index f1a7128..46d14f6 100644
--- a/tools/kvm/x86/include/kvm/barrier.h
+++ b/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:
- */
-
-#include <asm/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_ */
--
To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux