diff options
Diffstat (limited to 'include/asm-arm/system.h')
-rw-r--r-- | include/asm-arm/system.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h index aa223fc546af..e5aa372beb94 100644 --- a/include/asm-arm/system.h +++ b/include/asm-arm/system.h | |||
@@ -193,11 +193,19 @@ extern unsigned int user_debug; | |||
193 | #endif | 193 | #endif |
194 | 194 | ||
195 | #if __LINUX_ARM_ARCH__ >= 6 | 195 | #if __LINUX_ARM_ARCH__ >= 6 |
196 | #define mb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 5" \ | 196 | #define isb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c5, 4" \ |
197 | : : "r" (0) : "memory") | 197 | : : "r" (0) : "memory") |
198 | #define dsb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 4" \ | ||
199 | : : "r" (0) : "memory") | ||
200 | #define dmb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 5" \ | ||
201 | : : "r" (0) : "memory") | ||
198 | #else | 202 | #else |
199 | #define mb() __asm__ __volatile__ ("" : : : "memory") | 203 | #define isb() __asm__ __volatile__ ("" : : : "memory") |
204 | #define dsb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 4" \ | ||
205 | : : "r" (0) : "memory") | ||
206 | #define dmb() __asm__ __volatile__ ("" : : : "memory") | ||
200 | #endif | 207 | #endif |
208 | #define mb() dmb() | ||
201 | #define rmb() mb() | 209 | #define rmb() mb() |
202 | #define wmb() mb() | 210 | #define wmb() mb() |
203 | #define read_barrier_depends() do { } while(0) | 211 | #define read_barrier_depends() do { } while(0) |