patch-2.3.16 linux/include/asm-i386/system.h
Next file: linux/include/asm-i386/uaccess.h
Previous file: linux/include/asm-i386/softirq.h
Back to the patch index
Back to the overall index
- Lines: 19
- Date:
Tue Aug 31 16:11:57 1999
- Orig file:
v2.3.15/linux/include/asm-i386/system.h
- Orig date:
Thu Aug 26 13:05:41 1999
diff -u --recursive --new-file v2.3.15/linux/include/asm-i386/system.h linux/include/asm-i386/system.h
@@ -133,7 +133,7 @@
* Note 2: xchg has side effect, so that attribute volatile is necessary,
* but generally the primitive is invalid, *ptr is output argument. --ANK
*/
-static inline unsigned long __xchg(unsigned long x, void * ptr, int size)
+static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size)
{
switch (size) {
case 1:
@@ -175,6 +175,9 @@
#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory")
#define rmb() mb()
#define wmb() __asm__ __volatile__ ("": : :"memory")
+#define set_rmb(var, value) do { xchg(&var, value); } while (0)
+#define set_mb(var, value) set_rmb(var, value)
+#define set_wmb(var, value) do { var = value; wmb(); } while (0)
/* interrupt control.. */
#define __save_flags(x) __asm__ __volatile__("pushfl ; popl %0":"=g" (x): /* no input */ :"memory")
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)