Make x86 consistent with other architectures and put memory barrier defines to lib/x86/asm/barrier.h Cc: Andrew Jones <drjones@xxxxxxxxxx> Cc: Thomas Huth <thuth@xxxxxxxxxx> Cc: Radim Krčmář <rkrcmar@xxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> --- lib/x86/asm/barrier.h | 8 ++++++++ lib/x86/asm/io.h | 1 + lib/x86/smp.h | 4 ---- x86/kvmclock.c | 1 + 4 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 lib/x86/asm/barrier.h diff --git a/lib/x86/asm/barrier.h b/lib/x86/asm/barrier.h new file mode 100644 index 0000000..0ca1c56 --- /dev/null +++ b/lib/x86/asm/barrier.h @@ -0,0 +1,8 @@ +#ifndef _ASM_X86_BARRIER_H_ +#define _ASM_X86_BARRIER_H_ + +#define mb() asm volatile("mfence":::"memory") +#define rmb() asm volatile("lfence":::"memory") +#define wmb() asm volatile("sfence" ::: "memory") + +#endif diff --git a/lib/x86/asm/io.h b/lib/x86/asm/io.h index 68b10e5..5b901a3 100644 --- a/lib/x86/asm/io.h +++ b/lib/x86/asm/io.h @@ -2,6 +2,7 @@ #define _ASM_X86_IO_H_ #include "asm/page.h" +#include "asm/barrier.h" static inline unsigned char inb(unsigned short port) { diff --git a/lib/x86/smp.h b/lib/x86/smp.h index 566018f..afabac8 100644 --- a/lib/x86/smp.h +++ b/lib/x86/smp.h @@ -2,10 +2,6 @@ #define __SMP_H #include <asm/spinlock.h> -#define mb() asm volatile("mfence":::"memory") -#define rmb() asm volatile("lfence":::"memory") -#define wmb() asm volatile("sfence" ::: "memory") - void smp_init(void); int cpu_count(void); diff --git a/x86/kvmclock.c b/x86/kvmclock.c index 327e60d..208d43c 100644 --- a/x86/kvmclock.c +++ b/x86/kvmclock.c @@ -3,6 +3,7 @@ #include "atomic.h" #include "processor.h" #include "kvmclock.h" +#include "asm/barrier.h" #define unlikely(x) __builtin_expect(!!(x), 0) #define likely(x) __builtin_expect(!!(x), 1) -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html