Lines Matching refs:oval
15 #define unsafe_atomic_op1(insn, oval, uaddr, oparg, label) \
25 *oval = oldval; \
29 #define unsafe_atomic_op2(insn, oval, uaddr, oparg, label) \
45 *oval = oldval; \
48 static __always_inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval,
56 unsafe_atomic_op1("xchgl %0, %2", oval, uaddr, oparg, Efault);
59 unsafe_atomic_op1(LOCK_PREFIX "xaddl %0, %2", oval,
63 unsafe_atomic_op2("orl %4, %3", oval, uaddr, oparg, Efault);
66 unsafe_atomic_op2("andl %4, %3", oval, uaddr, ~oparg, Efault);
69 unsafe_atomic_op2("xorl %4, %3", oval, uaddr, oparg, Efault);