diff options
Diffstat (limited to 'include/asm-sh/system.h')
| -rw-r--r-- | include/asm-sh/system.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/asm-sh/system.h b/include/asm-sh/system.h index e89728d405d8..eb4902ed920a 100644 --- a/include/asm-sh/system.h +++ b/include/asm-sh/system.h | |||
| @@ -84,10 +84,17 @@ static __inline__ unsigned long tas(volatile int *m) | |||
| 84 | 84 | ||
| 85 | extern void __xchg_called_with_bad_pointer(void); | 85 | extern void __xchg_called_with_bad_pointer(void); |
| 86 | 86 | ||
| 87 | #ifdef CONFIG_CPU_SH4A | ||
| 88 | #define mb() __asm__ __volatile__ ("synco": : :"memory") | ||
| 89 | #define rmb() mb() | ||
| 90 | #define wmb() __asm__ __volatile__ ("synco": : :"memory") | ||
| 91 | #define read_barrier_depends() do { } while(0) | ||
| 92 | #else | ||
| 87 | #define mb() __asm__ __volatile__ ("": : :"memory") | 93 | #define mb() __asm__ __volatile__ ("": : :"memory") |
| 88 | #define rmb() mb() | 94 | #define rmb() mb() |
| 89 | #define wmb() __asm__ __volatile__ ("": : :"memory") | 95 | #define wmb() __asm__ __volatile__ ("": : :"memory") |
| 90 | #define read_barrier_depends() do { } while(0) | 96 | #define read_barrier_depends() do { } while(0) |
| 97 | #endif | ||
| 91 | 98 | ||
| 92 | #ifdef CONFIG_SMP | 99 | #ifdef CONFIG_SMP |
| 93 | #define smp_mb() mb() | 100 | #define smp_mb() mb() |
