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: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Radim Krčmář <rkrcmar@xxxxxxxxxx> Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> --- lib/x86/asm/barrier.h | 13 +++++++++++++ lib/x86/smp.h | 4 ---- x86/hyperv_stimer.c | 1 + x86/kvmclock.c | 1 + 4 files changed, 15 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 000000000000..d602a2c2d5bc --- /dev/null +++ b/lib/x86/asm/barrier.h @@ -0,0 +1,13 @@ +#ifndef _ASM_X86_BARRIER_H_ +#define _ASM_X86_BARRIER_H_ +/* + * Copyright (C) 2016, Red Hat Inc, Alexander Gordeev <agordeev@xxxxxxxxxx> + * + * This work is licensed under the terms of the GNU LGPL, version 2. + */ + +#define mb() asm volatile("mfence":::"memory") +#define rmb() asm volatile("lfence":::"memory") +#define wmb() asm volatile("sfence":::"memory") + +#endif diff --git a/lib/x86/smp.h b/lib/x86/smp.h index 566018f49ba3..afabac8495f1 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/hyperv_stimer.c b/x86/hyperv_stimer.c index 9a971ef3593a..63829388ae6e 100644 --- a/x86/hyperv_stimer.c +++ b/x86/hyperv_stimer.c @@ -8,6 +8,7 @@ #include "smp.h" #include "atomic.h" #include "hyperv.h" +#include "asm/barrier.h" #define MAX_CPUS 4 diff --git a/x86/kvmclock.c b/x86/kvmclock.c index 327e60d34213..208d43cafc1e 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