diff options
Diffstat (limited to 'include/asm-powerpc/system.h')
| -rw-r--r-- | include/asm-powerpc/system.h | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/include/asm-powerpc/system.h b/include/asm-powerpc/system.h index d075725bf444..7307aa775671 100644 --- a/include/asm-powerpc/system.h +++ b/include/asm-powerpc/system.h | |||
| @@ -39,7 +39,6 @@ | |||
| 39 | #define read_barrier_depends() do { } while(0) | 39 | #define read_barrier_depends() do { } while(0) |
| 40 | 40 | ||
| 41 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 41 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
| 42 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
| 43 | 42 | ||
| 44 | #ifdef __KERNEL__ | 43 | #ifdef __KERNEL__ |
| 45 | #ifdef CONFIG_SMP | 44 | #ifdef CONFIG_SMP |
| @@ -220,8 +219,8 @@ __xchg_u32(volatile void *p, unsigned long val) | |||
| 220 | " stwcx. %3,0,%2 \n\ | 219 | " stwcx. %3,0,%2 \n\ |
| 221 | bne- 1b" | 220 | bne- 1b" |
| 222 | ISYNC_ON_SMP | 221 | ISYNC_ON_SMP |
| 223 | : "=&r" (prev), "=m" (*(volatile unsigned int *)p) | 222 | : "=&r" (prev), "+m" (*(volatile unsigned int *)p) |
| 224 | : "r" (p), "r" (val), "m" (*(volatile unsigned int *)p) | 223 | : "r" (p), "r" (val) |
| 225 | : "cc", "memory"); | 224 | : "cc", "memory"); |
| 226 | 225 | ||
| 227 | return prev; | 226 | return prev; |
| @@ -240,8 +239,8 @@ __xchg_u64(volatile void *p, unsigned long val) | |||
| 240 | " stdcx. %3,0,%2 \n\ | 239 | " stdcx. %3,0,%2 \n\ |
| 241 | bne- 1b" | 240 | bne- 1b" |
| 242 | ISYNC_ON_SMP | 241 | ISYNC_ON_SMP |
| 243 | : "=&r" (prev), "=m" (*(volatile unsigned long *)p) | 242 | : "=&r" (prev), "+m" (*(volatile unsigned long *)p) |
| 244 | : "r" (p), "r" (val), "m" (*(volatile unsigned long *)p) | 243 | : "r" (p), "r" (val) |
| 245 | : "cc", "memory"); | 244 | : "cc", "memory"); |
| 246 | 245 | ||
| 247 | return prev; | 246 | return prev; |
| @@ -299,8 +298,8 @@ __cmpxchg_u32(volatile unsigned int *p, unsigned long old, unsigned long new) | |||
| 299 | ISYNC_ON_SMP | 298 | ISYNC_ON_SMP |
| 300 | "\n\ | 299 | "\n\ |
| 301 | 2:" | 300 | 2:" |
| 302 | : "=&r" (prev), "=m" (*p) | 301 | : "=&r" (prev), "+m" (*p) |
| 303 | : "r" (p), "r" (old), "r" (new), "m" (*p) | 302 | : "r" (p), "r" (old), "r" (new) |
| 304 | : "cc", "memory"); | 303 | : "cc", "memory"); |
| 305 | 304 | ||
| 306 | return prev; | 305 | return prev; |
| @@ -322,8 +321,8 @@ __cmpxchg_u64(volatile unsigned long *p, unsigned long old, unsigned long new) | |||
| 322 | ISYNC_ON_SMP | 321 | ISYNC_ON_SMP |
| 323 | "\n\ | 322 | "\n\ |
| 324 | 2:" | 323 | 2:" |
| 325 | : "=&r" (prev), "=m" (*p) | 324 | : "=&r" (prev), "+m" (*p) |
| 326 | : "r" (p), "r" (old), "r" (new), "m" (*p) | 325 | : "r" (p), "r" (old), "r" (new) |
| 327 | : "cc", "memory"); | 326 | : "cc", "memory"); |
| 328 | 327 | ||
| 329 | return prev; | 328 | return prev; |
