1 #ifndef __ASM_SH_FUTEX_H
2 #define __ASM_SH_FUTEX_H
6 #include <linux/futex.h>
15 int op = (encoded_op >> 28) & 7;
16 int cmp = (encoded_op >> 24) & 15;
17 int oparg = (encoded_op << 8) >> 20;
18 int cmparg = (encoded_op << 20) >> 20;
31 ret = atomic_futex_op_xchg_set(oparg, uaddr, &oldval);
34 ret = atomic_futex_op_xchg_add(oparg, uaddr, &oldval);
37 ret = atomic_futex_op_xchg_or(oparg, uaddr, &oldval);
40 ret = atomic_futex_op_xchg_and(~oparg, uaddr, &oldval);
43 ret = atomic_futex_op_xchg_xor(oparg, uaddr, &oldval);
68 futex_atomic_cmpxchg_inatomic(
u32 *uval,
u32 __user *uaddr,
74 return atomic_futex_op_cmpxchg_inatomic(uval, uaddr, oldval, newval);