linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / asm-sh / system.h
index ad35ad4..bb03304 100644 (file)
@@ -6,13 +6,14 @@
  * Copyright (C) 2002 Paul Mundt
  */
 
+#include <linux/config.h>
 
 /*
  *     switch_to() should switch tasks to task nr n, first
  */
 
 #define switch_to(prev, next, last) do {                               \
struct task_struct *__last;                                           \
task_t *__last;                                                       \
  register unsigned long *__ts1 __asm__ ("r1") = &prev->thread.sp;      \
  register unsigned long *__ts2 __asm__ ("r2") = &prev->thread.pc;      \
  register unsigned long *__ts4 __asm__ ("r4") = (unsigned long *)prev; \
@@ -101,6 +102,7 @@ extern void __xchg_called_with_bad_pointer(void);
 #endif
 
 #define set_mb(var, value) do { xchg(&var, value); } while (0)
+#define set_wmb(var, value) do { var = value; wmb(); } while (0)
 
 /* Interrupt Control */
 static __inline__ void local_irq_enable(void)