patch-2.4.21 linux-2.4.21/include/asm-sh/system.h
Next file: linux-2.4.21/include/asm-sparc/auxio.h
Previous file: linux-2.4.21/include/asm-sh/processor.h
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
2003-06-13 07:51:38.000000000 -0700
- Orig file:
linux-2.4.20/include/asm-sh/system.h
- Orig date:
2001-09-08 12:29:09.000000000 -0700
diff -urN linux-2.4.20/include/asm-sh/system.h linux-2.4.21/include/asm-sh/system.h
@@ -100,7 +100,7 @@
#define smp_wmb() barrier()
#endif
-#define set_mb(var, value) do { xchg(&var, value); } while (0)
+#define set_mb(var, value) do { var = value; mb(); } while (0)
#define set_wmb(var, value) do { var = value; wmb(); } while (0)
/* Interrupt Control */
@@ -215,8 +215,11 @@
: "=&r" (__dummy)); \
} while (0)
+#define __save_and_sti(x) do { __save_flags(x); __sti(); } while(0);
+
/* For spinlocks etc */
#define local_irq_save(x) x = __save_and_cli()
+#define local_irq_set(x) __save_and_sti(x)
#define local_irq_restore(x) __restore_flags(x)
#define local_irq_disable() __cli()
#define local_irq_enable() __sti()
@@ -231,13 +234,14 @@
#define sti() __global_sti()
#define save_flags(x) ((x)=__global_save_flags())
#define restore_flags(x) __global_restore_flags(x)
-
+#define save_and_sti(x) do { save_flags(x); sti(); } while(0);
#else
#define cli() __cli()
#define sti() __sti()
#define save_flags(x) __save_flags(x)
#define save_and_cli(x) x = __save_and_cli()
+#define save_and_sti(x) __save_and_sti(x)
#define restore_flags(x) __restore_flags(x)
#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)