patch-1.3.92 linux/include/asm-alpha/system.h
Next file: linux/include/asm-i386/floppy.h
Previous file: linux/include/asm-alpha/pgtable.h
Back to the patch index
Back to the overall index
- Lines: 48
- Date:
Sat Apr 20 12:58:38 1996
- Orig file:
v1.3.91/linux/include/asm-alpha/system.h
- Orig date:
Sun Mar 3 13:15:40 1996
diff -u --recursive --new-file v1.3.91/linux/include/asm-alpha/system.h linux/include/asm-alpha/system.h
@@ -118,33 +118,29 @@
extern __inline__ unsigned long xchg_u32(volatile int * m, unsigned long val)
{
- unsigned long dummy, dummy2;
-
+ unsigned long dummy;
__asm__ __volatile__(
"\n1:\t"
- "ldl_l %0,0(%1)\n\t"
- "bis %2,%2,%3\n\t"
- "stl_c %3,0(%1)\n\t"
- "beq %3,1b\n"
- : "=r" (val), "=r" (m), "=r" (dummy), "=r" (dummy2)
- : "1" (m), "2" (val)
- : "memory");
+ "ldl_l %0,%2\n\t"
+ "bis %3,%3,%1\n\t"
+ "stl_c %1,%2\n\t"
+ "beq %1,1b\n"
+ : "=&r" (val), "=&r" (dummy), "=m" (*m)
+ : "r" (val), "m" (*m));
return val;
}
extern __inline__ unsigned long xchg_u64(volatile long * m, unsigned long val)
{
- unsigned long dummy, dummy2;
-
+ unsigned long dummy;
__asm__ __volatile__(
"\n1:\t"
- "ldq_l %0,0(%1)\n\t"
- "bis %2,%2,%3\n\t"
- "stq_c %3,0(%1)\n\t"
- "beq %3,1b\n"
- : "=r" (val), "=r" (m), "=r" (dummy), "=r" (dummy2)
- : "1" (m), "2" (val)
- : "memory");
+ "ldq_l %0,%2\n\t"
+ "bis %3,%3,%1\n\t"
+ "stq_c %1,%2\n\t"
+ "beq %1,1b\n"
+ : "=&r" (val), "=&r" (dummy), "=m" (*m)
+ : "r" (val), "m" (*m));
return val;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this