diff --git a/arch/x86_64/kernel/include/arch/cpu.h b/arch/x86_64/kernel/include/arch/cpu.h index 1debb1fd..8eec92a0 100644 --- a/arch/x86_64/kernel/include/arch/cpu.h +++ b/arch/x86_64/kernel/include/arch/cpu.h @@ -13,18 +13,16 @@ #ifndef ARCH_CPU_H #define ARCH_CPU_H +#define mb() asm volatile("mfence":::"memory") +#define rmb() asm volatile("lfence":::"memory") +#define wmb() asm volatile("sfence" ::: "memory") + +#define smp_mb() mb() +#define smp_rmb() rmb() +#define smp_wmb() barrier() + #define arch_barrier() asm volatile("" : : : "memory") -static inline void rmb(void) -{ - arch_barrier(); -} - -static inline void wmb(void) -{ - arch_barrier(); -} - static inline unsigned long read_tsc(void) { unsigned int low, high;