oparg 12 arch/alpha/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ oparg 26 arch/alpha/include/asm/futex.h : "r" (uaddr), "r"(oparg) \ oparg 29 arch/alpha/include/asm/futex.h static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval, oparg 38 arch/alpha/include/asm/futex.h __futex_atomic_op("mov %3,%1\n", ret, oldval, uaddr, oparg); oparg 41 arch/alpha/include/asm/futex.h __futex_atomic_op("addl %0,%3,%1\n", ret, oldval, uaddr, oparg); oparg 44 arch/alpha/include/asm/futex.h __futex_atomic_op("or %0,%3,%1\n", ret, oldval, uaddr, oparg); oparg 47 arch/alpha/include/asm/futex.h __futex_atomic_op("andnot %0,%3,%1\n", ret, oldval, uaddr, oparg); oparg 50 arch/alpha/include/asm/futex.h __futex_atomic_op("xor %0,%3,%1\n", ret, oldval, uaddr, oparg); oparg 18 arch/arc/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\ oparg 40 arch/arc/include/asm/futex.h : "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \ oparg 46 arch/arc/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\ oparg 67 arch/arc/include/asm/futex.h : "r" (uaddr), "r" (oparg), "ir" (-EFAULT) \ oparg 73 arch/arc/include/asm/futex.h static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval, oparg 85 arch/arc/include/asm/futex.h __futex_atomic_op("mov %0, %3", ret, oldval, uaddr, oparg); oparg 89 arch/arc/include/asm/futex.h __futex_atomic_op("add %0, %1, %3", ret, oldval, uaddr, oparg); oparg 92 arch/arc/include/asm/futex.h __futex_atomic_op("or %0, %1, %3", ret, oldval, uaddr, oparg); oparg 95 arch/arc/include/asm/futex.h __futex_atomic_op("bic %0, %1, %3", ret, oldval, uaddr, oparg); oparg 98 arch/arc/include/asm/futex.h __futex_atomic_op("xor %0, %1, %3", ret, oldval, uaddr, oparg); oparg 25 arch/arm/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ oparg 40 arch/arm/include/asm/futex.h : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ oparg 84 arch/arm/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ oparg 94 arch/arm/include/asm/futex.h : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ oparg 133 arch/arm/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) oparg 144 arch/arm/include/asm/futex.h __futex_atomic_op("mov %0, %4", ret, oldval, tmp, uaddr, oparg); oparg 147 arch/arm/include/asm/futex.h __futex_atomic_op("add %0, %1, %4", ret, oldval, tmp, uaddr, oparg); oparg 150 arch/arm/include/asm/futex.h __futex_atomic_op("orr %0, %1, %4", ret, oldval, tmp, uaddr, oparg); oparg 153 arch/arm/include/asm/futex.h __futex_atomic_op("and %0, %1, %4", ret, oldval, tmp, uaddr, ~oparg); oparg 156 arch/arm/include/asm/futex.h __futex_atomic_op("eor %0, %1, %4", ret, oldval, tmp, uaddr, oparg); oparg 15 arch/arm64/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, tmp, oparg) \ oparg 40 arch/arm64/include/asm/futex.h : "r" (oparg), "Ir" (-EFAULT), "Ir" (-EAGAIN) \ oparg 46 arch/arm64/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *_uaddr) oparg 56 arch/arm64/include/asm/futex.h ret, oldval, uaddr, tmp, oparg); oparg 60 arch/arm64/include/asm/futex.h ret, oldval, uaddr, tmp, oparg); oparg 64 arch/arm64/include/asm/futex.h ret, oldval, uaddr, tmp, oparg); oparg 68 arch/arm64/include/asm/futex.h ret, oldval, uaddr, tmp, ~oparg); oparg 72 arch/arm64/include/asm/futex.h ret, oldval, uaddr, tmp, oparg); oparg 13 arch/hexagon/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ oparg 30 arch/hexagon/include/asm/futex.h : "r" (uaddr), "r" (oparg), "i" (-EFAULT) \ oparg 35 arch/hexagon/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) oparg 43 arch/hexagon/include/asm/futex.h __futex_atomic_op("%1 = %4\n", ret, oldval, uaddr, oparg); oparg 47 arch/hexagon/include/asm/futex.h oparg); oparg 51 arch/hexagon/include/asm/futex.h oparg); oparg 55 arch/hexagon/include/asm/futex.h oldval, uaddr, oparg); oparg 59 arch/hexagon/include/asm/futex.h oparg); oparg 9 arch/ia64/include/asm/futex.h #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \ oparg 18 arch/ia64/include/asm/futex.h : "r" (uaddr), "r" (oparg) \ oparg 23 arch/ia64/include/asm/futex.h #define __futex_atomic_op2(insn, ret, oldval, uaddr, oparg) \ oparg 40 arch/ia64/include/asm/futex.h : "r" (uaddr), "r" (oparg) \ oparg 49 arch/ia64/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) oparg 58 arch/ia64/include/asm/futex.h oparg); oparg 61 arch/ia64/include/asm/futex.h __futex_atomic_op2("add %3=%3,%5", ret, oldval, uaddr, oparg); oparg 64 arch/ia64/include/asm/futex.h __futex_atomic_op2("or %3=%3,%5", ret, oldval, uaddr, oparg); oparg 68 arch/ia64/include/asm/futex.h ~oparg); oparg 71 arch/ia64/include/asm/futex.h __futex_atomic_op2("xor %3=%3,%5", ret, oldval, uaddr, oparg); oparg 11 arch/microblaze/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ oparg 28 arch/microblaze/include/asm/futex.h : "r" (uaddr), "i" (-EFAULT), "r" (oparg) \ oparg 33 arch/microblaze/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) oparg 41 arch/microblaze/include/asm/futex.h __futex_atomic_op("or %1,%4,%4;", ret, oldval, uaddr, oparg); oparg 44 arch/microblaze/include/asm/futex.h __futex_atomic_op("add %1,%0,%4;", ret, oldval, uaddr, oparg); oparg 47 arch/microblaze/include/asm/futex.h __futex_atomic_op("or %1,%0,%4;", ret, oldval, uaddr, oparg); oparg 50 arch/microblaze/include/asm/futex.h __futex_atomic_op("andn %1,%0,%4;", ret, oldval, uaddr, oparg); oparg 53 arch/microblaze/include/asm/futex.h __futex_atomic_op("xor %1,%0,%4;", ret, oldval, uaddr, oparg); oparg 21 arch/mips/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ oparg 49 arch/mips/include/asm/futex.h : "0" (0), GCC_OFF_SMALL_ASM() (*uaddr), "Jr" (oparg), \ oparg 79 arch/mips/include/asm/futex.h : "0" (0), GCC_OFF_SMALL_ASM() (*uaddr), "Jr" (oparg), \ oparg 87 arch/mips/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) oparg 95 arch/mips/include/asm/futex.h __futex_atomic_op("move $1, %z5", ret, oldval, uaddr, oparg); oparg 100 arch/mips/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 104 arch/mips/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 108 arch/mips/include/asm/futex.h ret, oldval, uaddr, ~oparg); oparg 112 arch/mips/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 22 arch/nds32/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ oparg 34 arch/nds32/include/asm/futex.h : "r" (uaddr), "r" (oparg), "i" (-EFAULT) \ oparg 65 arch/nds32/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) oparg 74 arch/nds32/include/asm/futex.h oparg); oparg 78 arch/nds32/include/asm/futex.h oparg); oparg 82 arch/nds32/include/asm/futex.h oparg); oparg 86 arch/nds32/include/asm/futex.h ~oparg); oparg 90 arch/nds32/include/asm/futex.h oparg); oparg 11 arch/openrisc/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ oparg 28 arch/openrisc/include/asm/futex.h : "i" (-EFAULT), "r" (oparg) \ oparg 34 arch/openrisc/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) oparg 42 arch/openrisc/include/asm/futex.h __futex_atomic_op("l.or %1,%4,%4", ret, oldval, uaddr, oparg); oparg 45 arch/openrisc/include/asm/futex.h __futex_atomic_op("l.add %1,%0,%4", ret, oldval, uaddr, oparg); oparg 48 arch/openrisc/include/asm/futex.h __futex_atomic_op("l.or %1,%0,%4", ret, oldval, uaddr, oparg); oparg 51 arch/openrisc/include/asm/futex.h __futex_atomic_op("l.and %1,%0,%4", ret, oldval, uaddr, ~oparg); oparg 54 arch/openrisc/include/asm/futex.h __futex_atomic_op("l.xor %1,%0,%4", ret, oldval, uaddr, oparg); oparg 36 arch/parisc/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) oparg 54 arch/parisc/include/asm/futex.h tmp = oparg; oparg 57 arch/parisc/include/asm/futex.h tmp += oparg; oparg 60 arch/parisc/include/asm/futex.h tmp |= oparg; oparg 63 arch/parisc/include/asm/futex.h tmp &= ~oparg; oparg 66 arch/parisc/include/asm/futex.h tmp ^= oparg; oparg 13 arch/powerpc/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ oparg 30 arch/powerpc/include/asm/futex.h : "b" (uaddr), "i" (-EFAULT), "r" (oparg) \ oparg 33 arch/powerpc/include/asm/futex.h static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval, oparg 43 arch/powerpc/include/asm/futex.h __futex_atomic_op("mr %1,%4\n", ret, oldval, uaddr, oparg); oparg 46 arch/powerpc/include/asm/futex.h __futex_atomic_op("add %1,%0,%4\n", ret, oldval, uaddr, oparg); oparg 49 arch/powerpc/include/asm/futex.h __futex_atomic_op("or %1,%0,%4\n", ret, oldval, uaddr, oparg); oparg 52 arch/powerpc/include/asm/futex.h __futex_atomic_op("andc %1,%0,%4\n", ret, oldval, uaddr, oparg); oparg 55 arch/powerpc/include/asm/futex.h __futex_atomic_op("xor %1,%0,%4\n", ret, oldval, uaddr, oparg); oparg 15 arch/riscv/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ oparg 33 arch/riscv/include/asm/futex.h : [op] "Jr" (oparg), [e] "i" (-EFAULT) \ oparg 39 arch/riscv/include/asm/futex.h arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) oparg 48 arch/riscv/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 52 arch/riscv/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 56 arch/riscv/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 60 arch/riscv/include/asm/futex.h ret, oldval, uaddr, ~oparg); oparg 64 arch/riscv/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 10 arch/s390/include/asm/futex.h #define __futex_atomic_op(insn, ret, oldval, newval, uaddr, oparg) \ oparg 22 arch/s390/include/asm/futex.h : "0" (-EFAULT), "d" (oparg), "a" (uaddr), \ oparg 25 arch/s390/include/asm/futex.h static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval, oparg 36 arch/s390/include/asm/futex.h ret, oldval, newval, uaddr, oparg); oparg 40 arch/s390/include/asm/futex.h ret, oldval, newval, uaddr, oparg); oparg 44 arch/s390/include/asm/futex.h ret, oldval, newval, uaddr, oparg); oparg 48 arch/s390/include/asm/futex.h ret, oldval, newval, uaddr, oparg); oparg 52 arch/s390/include/asm/futex.h ret, oldval, newval, uaddr, oparg); oparg 31 arch/sh/include/asm/futex.h static inline int arch_futex_atomic_op_inuser(int op, u32 oparg, int *oval, oparg 46 arch/sh/include/asm/futex.h newval = oparg; oparg 49 arch/sh/include/asm/futex.h newval = oldval + oparg; oparg 52 arch/sh/include/asm/futex.h newval = oldval | oparg; oparg 55 arch/sh/include/asm/futex.h newval = oldval & ~oparg; oparg 58 arch/sh/include/asm/futex.h newval = oldval ^ oparg; oparg 9 arch/sparc/include/asm/futex_64.h #define __futex_cas_op(insn, ret, oldval, uaddr, oparg) \ oparg 30 arch/sparc/include/asm/futex_64.h : "r" (uaddr), "r" (oparg), "i" (-EFAULT) \ oparg 33 arch/sparc/include/asm/futex_64.h static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval, oparg 45 arch/sparc/include/asm/futex_64.h __futex_cas_op("mov\t%4, %1", ret, oldval, uaddr, oparg); oparg 48 arch/sparc/include/asm/futex_64.h __futex_cas_op("add\t%2, %4, %1", ret, oldval, uaddr, oparg); oparg 51 arch/sparc/include/asm/futex_64.h __futex_cas_op("or\t%2, %4, %1", ret, oldval, uaddr, oparg); oparg 54 arch/sparc/include/asm/futex_64.h __futex_cas_op("andn\t%2, %4, %1", ret, oldval, uaddr, oparg); oparg 57 arch/sparc/include/asm/futex_64.h __futex_cas_op("xor\t%2, %4, %1", ret, oldval, uaddr, oparg); oparg 15 arch/x86/include/asm/futex.h #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \ oparg 25 arch/x86/include/asm/futex.h : "i" (-EFAULT), "0" (oparg), "1" (0)) oparg 27 arch/x86/include/asm/futex.h #define __futex_atomic_op2(insn, ret, oldval, uaddr, oparg) \ oparg 43 arch/x86/include/asm/futex.h : "r" (oparg), "i" (-EFAULT), "1" (0)) oparg 45 arch/x86/include/asm/futex.h static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval, oparg 54 arch/x86/include/asm/futex.h __futex_atomic_op1("xchgl %0, %2", ret, oldval, uaddr, oparg); oparg 58 arch/x86/include/asm/futex.h uaddr, oparg); oparg 61 arch/x86/include/asm/futex.h __futex_atomic_op2("orl %4, %3", ret, oldval, uaddr, oparg); oparg 64 arch/x86/include/asm/futex.h __futex_atomic_op2("andl %4, %3", ret, oldval, uaddr, ~oparg); oparg 67 arch/x86/include/asm/futex.h __futex_atomic_op2("xorl %4, %3", ret, oldval, uaddr, oparg); oparg 40 arch/xtensa/include/asm/futex.h : [addr] "r" (uaddr), [oparg] "r" (arg), \ oparg 64 arch/xtensa/include/asm/futex.h : [addr] "r" (uaddr), [oparg] "r" (arg), \ oparg 69 arch/xtensa/include/asm/futex.h static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval, oparg 80 arch/xtensa/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 84 arch/xtensa/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 88 arch/xtensa/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 92 arch/xtensa/include/asm/futex.h ret, oldval, uaddr, ~oparg); oparg 96 arch/xtensa/include/asm/futex.h ret, oldval, uaddr, oparg); oparg 31 include/asm-generic/futex.h arch_futex_atomic_op_inuser(int op, u32 oparg, int *oval, u32 __user *uaddr) oparg 48 include/asm-generic/futex.h tmp = oparg; oparg 51 include/asm-generic/futex.h tmp += oparg; oparg 54 include/asm-generic/futex.h tmp |= oparg; oparg 57 include/asm-generic/futex.h tmp &= ~oparg; oparg 60 include/asm-generic/futex.h tmp ^= oparg; oparg 119 include/asm-generic/futex.h arch_futex_atomic_op_inuser(int op, u32 oparg, int *oval, u32 __user *uaddr) oparg 149 include/uapi/linux/futex.h #define FUTEX_OP(op, oparg, cmp, cmparg) \ oparg 151 include/uapi/linux/futex.h | ((oparg & 0xfff) << 12) | (cmparg & 0xfff)) oparg 1724 kernel/futex.c int oparg = sign_extend32((encoded_op & 0x00fff000) >> 12, 11); oparg 1729 kernel/futex.c if (oparg < 0 || oparg > 31) { oparg 1736 kernel/futex.c get_task_comm(comm, current), oparg); oparg 1737 kernel/futex.c oparg &= 31; oparg 1739 kernel/futex.c oparg = 1 << oparg; oparg 1745 kernel/futex.c ret = arch_futex_atomic_op_inuser(op, oparg, &oldval, uaddr);