diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-01-30 13:31:08 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:31:08 +0100 |
commit | 833d8469b102365f427f7791e79ec1843ff5f164 (patch) | |
tree | 7f3ac89dd2f445e86339166a66287be1a74253c1 /include/asm-x86/system_64.h | |
parent | 62fe164c5b036f4bdb19fbfb8f18a75631e67eee (diff) | |
download | blackbird-op-linux-833d8469b102365f427f7791e79ec1843ff5f164.tar.gz blackbird-op-linux-833d8469b102365f427f7791e79ec1843ff5f164.zip |
x86: unify smp parts of system.h
The memory barrier parts of system.h are not very different between
i386 and x86_64, the main difference being the availability of
instructions, which we handle with the use of ifdefs.
They are consolidated in system.h file, and then removed from
the arch-specific headers.
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/system_64.h')
-rw-r--r-- | include/asm-x86/system_64.h | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/include/asm-x86/system_64.h b/include/asm-x86/system_64.h index 560470ea27c8..9def35eb75e3 100644 --- a/include/asm-x86/system_64.h +++ b/include/asm-x86/system_64.h @@ -48,31 +48,6 @@ #endif /* __KERNEL__ */ -#ifdef CONFIG_SMP -#define smp_mb() mb() -#define smp_rmb() barrier() -#define smp_wmb() barrier() -#define smp_read_barrier_depends() do {} while(0) -#else -#define smp_mb() barrier() -#define smp_rmb() barrier() -#define smp_wmb() barrier() -#define smp_read_barrier_depends() do {} while(0) -#endif - - -/* - * Force strict CPU ordering. - * And yes, this is required on UP too when we're talking - * to devices. - */ -#define mb() asm volatile("mfence":::"memory") -#define rmb() asm volatile("lfence":::"memory") -#define wmb() asm volatile("sfence" ::: "memory") - -#define read_barrier_depends() do {} while(0) -#define set_mb(var, value) do { (void) xchg(&var, value); } while (0) - static inline unsigned long read_cr8(void) { unsigned long cr8; |