(lll_futex_requeue): Pass val argument as 6th system call argument in %r7.

This commit is contained in:
Ulrich Drepper 2004-06-07 17:58:24 +00:00
parent c889f2cd0e
commit 34dd1fb346
1 changed files with 2 additions and 7 deletions

View File

@ -84,9 +84,6 @@
/* Returns non-zero if error happened, zero if success. */
#if 0
/* FIXME: s390 only supports up to 5 argument syscalls. Once FUTEX_CMP_REQUEUE
kernel interface for s390 is finalized, adjust this. */
#define lll_futex_requeue(futex, nr_wake, nr_move, mutex, val) \
({ \
register unsigned long int __r2 asm ("2") = (unsigned long int) (futex); \
@ -94,18 +91,16 @@
register unsigned long int __r4 asm ("4") = (long int) (nr_wake); \
register unsigned long int __r5 asm ("5") = (long int) (nr_move); \
register unsigned long int __r6 asm ("6") = (unsigned long int) (mutex); \
register unsigned long int __r7 asm ("7") = (int) (mutex); \
register unsigned long __result asm ("2"); \
\
__asm __volatile ("svc %b1" \
: "=d" (__result) \
: "i" (SYS_futex), "0" (__r2), "d" (__r3), \
"d" (__r4), "d" (__r5), "d" (__r6) \
"d" (__r4), "d" (__r5), "d" (__r6), "d" (__r7) \
: "cc", "memory" ); \
__result > -4096UL; \
})
#else
#define lll_futex_requeue(futex, nr_wake, nr_move, mutex, val) 1
#endif
#define lll_compare_and_swap(futex, oldval, newval, operation) \