diff options
-rw-r--r-- | arch/powerpc/include/asm/synch.h | 4 | ||||
-rw-r--r-- | arch/powerpc/include/asm/system.h | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/synch.h b/arch/powerpc/include/asm/synch.h index 45963e80f557..28f6ddbff4cf 100644 --- a/arch/powerpc/include/asm/synch.h +++ b/arch/powerpc/include/asm/synch.h | |||
@@ -5,6 +5,10 @@ | |||
5 | #include <linux/stringify.h> | 5 | #include <linux/stringify.h> |
6 | #include <asm/feature-fixups.h> | 6 | #include <asm/feature-fixups.h> |
7 | 7 | ||
8 | #if defined(__powerpc64__) || defined(CONFIG_PPC_E500MC) | ||
9 | #define __SUBARCH_HAS_LWSYNC | ||
10 | #endif | ||
11 | |||
8 | #ifndef __ASSEMBLY__ | 12 | #ifndef __ASSEMBLY__ |
9 | extern unsigned int __start___lwsync_fixup, __stop___lwsync_fixup; | 13 | extern unsigned int __start___lwsync_fixup, __stop___lwsync_fixup; |
10 | extern void do_lwsync_fixups(unsigned long value, void *fixup_start, | 14 | extern void do_lwsync_fixups(unsigned long value, void *fixup_start, |
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h index d6648c143322..917f515bc671 100644 --- a/arch/powerpc/include/asm/system.h +++ b/arch/powerpc/include/asm/system.h | |||
@@ -45,14 +45,14 @@ | |||
45 | #ifdef CONFIG_SMP | 45 | #ifdef CONFIG_SMP |
46 | 46 | ||
47 | #ifdef __SUBARCH_HAS_LWSYNC | 47 | #ifdef __SUBARCH_HAS_LWSYNC |
48 | # define SMPWMB lwsync | 48 | # define SMPWMB LWSYNC |
49 | #else | 49 | #else |
50 | # define SMPWMB eieio | 50 | # define SMPWMB eieio |
51 | #endif | 51 | #endif |
52 | 52 | ||
53 | #define smp_mb() mb() | 53 | #define smp_mb() mb() |
54 | #define smp_rmb() rmb() | 54 | #define smp_rmb() rmb() |
55 | #define smp_wmb() __asm__ __volatile__ (__stringify(SMPWMB) : : :"memory") | 55 | #define smp_wmb() __asm__ __volatile__ (stringify_in_c(SMPWMB) : : :"memory") |
56 | #define smp_read_barrier_depends() read_barrier_depends() | 56 | #define smp_read_barrier_depends() read_barrier_depends() |
57 | #else | 57 | #else |
58 | #define smp_mb() barrier() | 58 | #define smp_mb() barrier() |