aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-m32r/system.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-m32r/system.h')
-rw-r--r--include/asm-m32r/system.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/include/asm-m32r/system.h b/include/asm-m32r/system.h
index 33567e8bfe6b..4ce0619f6989 100644
--- a/include/asm-m32r/system.h
+++ b/include/asm-m32r/system.h
@@ -18,7 +18,7 @@
18 * switch_to(prev, next) should switch from task `prev' to `next' 18 * switch_to(prev, next) should switch from task `prev' to `next'
19 * `prev' will never be the same as `next'. 19 * `prev' will never be the same as `next'.
20 * 20 *
21 * `next' and `prev' should be task_t, but it isn't always defined 21 * `next' and `prev' should be struct task_struct, but it isn't always defined
22 */ 22 */
23 23
24#define switch_to(prev, next, last) do { \ 24#define switch_to(prev, next, last) do { \
@@ -318,7 +318,7 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
318 * does not enforce ordering, since there is no data dependency between 318 * does not enforce ordering, since there is no data dependency between
319 * the read of "a" and the read of "b". Therefore, on some CPUs, such 319 * the read of "a" and the read of "b". Therefore, on some CPUs, such
320 * as Alpha, "y" could be set to 3 and "x" to 0. Use rmb() 320 * as Alpha, "y" could be set to 3 and "x" to 0. Use rmb()
321 * in cases like thiswhere there are no data dependencies. 321 * in cases like this where there are no data dependencies.
322 **/ 322 **/
323 323
324#define read_barrier_depends() do { } while (0) 324#define read_barrier_depends() do { } while (0)
@@ -328,16 +328,15 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
328#define smp_rmb() rmb() 328#define smp_rmb() rmb()
329#define smp_wmb() wmb() 329#define smp_wmb() wmb()
330#define smp_read_barrier_depends() read_barrier_depends() 330#define smp_read_barrier_depends() read_barrier_depends()
331#define set_mb(var, value) do { (void) xchg(&var, value); } while (0)
331#else 332#else
332#define smp_mb() barrier() 333#define smp_mb() barrier()
333#define smp_rmb() barrier() 334#define smp_rmb() barrier()
334#define smp_wmb() barrier() 335#define smp_wmb() barrier()
335#define smp_read_barrier_depends() do { } while (0) 336#define smp_read_barrier_depends() do { } while (0)
337#define set_mb(var, value) do { var = value; barrier(); } while (0)
336#endif 338#endif
337 339
338#define set_mb(var, value) do { xchg(&var, value); } while (0)
339#define set_wmb(var, value) do { var = value; wmb(); } while (0)
340
341#define arch_align_stack(x) (x) 340#define arch_align_stack(x) (x)
342 341
343#endif /* _ASM_M32R_SYSTEM_H */ 342#endif /* _ASM_M32R_SYSTEM_H */