Home
last modified time | relevance | path

Searched refs:oldval (Results 1 – 85 of 85) sorted by relevance

/linux-4.4.14/arch/frv/kernel/
Dfutex.c23 int oldval, ret; in atomic_futex_op_xchg_set() local
44 : "+U"(*uaddr), "=&r"(oldval), "=&r"(ret), "=r"(oparg) in atomic_futex_op_xchg_set()
49 *_oldval = oldval; in atomic_futex_op_xchg_set()
55 int oldval, ret; in atomic_futex_op_xchg_add() local
77 : "+U"(*uaddr), "=&r"(oldval), "=&r"(ret), "=r"(oparg) in atomic_futex_op_xchg_add()
82 *_oldval = oldval; in atomic_futex_op_xchg_add()
88 int oldval, ret; in atomic_futex_op_xchg_or() local
110 : "+U"(*uaddr), "=&r"(oldval), "=&r"(ret), "=r"(oparg) in atomic_futex_op_xchg_or()
115 *_oldval = oldval; in atomic_futex_op_xchg_or()
121 int oldval, ret; in atomic_futex_op_xchg_and() local
[all …]
/linux-4.4.14/arch/ia64/include/asm/
Dfutex.h8 #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \ argument
16 : "+r" (r8), "=r" (oldval) \
22 #define __futex_atomic_op2(insn, ret, oldval, uaddr, oparg) \ argument
37 : "+r" (r8), "=r" (val), "=&r" (oldval), \
43 } while (unlikely (val != oldval)); \
54 int oldval = 0, ret; in futex_atomic_op_inuser() local
65 __futex_atomic_op1("xchg4 %1=[%2],%3", ret, oldval, uaddr, in futex_atomic_op_inuser()
69 __futex_atomic_op2("add %3=%3,%5", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
72 __futex_atomic_op2("or %3=%3,%5", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
75 __futex_atomic_op2("and %3=%3,%5", ret, oldval, uaddr, in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/arch/x86/include/asm/
Dfutex.h14 #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \ argument
23 : "=r" (oldval), "=r" (ret), "+m" (*uaddr) \
26 #define __futex_atomic_op2(insn, ret, oldval, uaddr, oparg) \ argument
40 : "=&a" (oldval), "=&r" (ret), \
50 int oldval = 0, ret, tem; in futex_atomic_op_inuser() local
62 __futex_atomic_op1("xchgl %0, %2", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
65 __futex_atomic_op1(LOCK_PREFIX "xaddl %0, %2", ret, oldval, in futex_atomic_op_inuser()
69 __futex_atomic_op2("orl %4, %3", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
72 __futex_atomic_op2("andl %4, %3", ret, oldval, uaddr, ~oparg); in futex_atomic_op_inuser()
75 __futex_atomic_op2("xorl %4, %3", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/include/asm-generic/
Dfutex.h34 int oldval, ret; in futex_atomic_op_inuser() local
44 if (unlikely(get_user(oldval, uaddr) != 0)) in futex_atomic_op_inuser()
48 tmp = oldval; in futex_atomic_op_inuser()
79 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
80 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
81 case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break; in futex_atomic_op_inuser()
82 case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break; in futex_atomic_op_inuser()
83 case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break; in futex_atomic_op_inuser()
84 case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break; in futex_atomic_op_inuser()
106 u32 oldval, u32 newval) in futex_atomic_cmpxchg_inatomic() argument
[all …]
/linux-4.4.14/arch/s390/include/asm/
Dfutex.h9 #define __futex_atomic_op(insn, ret, oldval, newval, uaddr, oparg) \ argument
19 : "=d" (ret), "=&d" (oldval), "=&d" (newval), \
30 int oldval = 0, newval, ret; in futex_atomic_op_inuser() local
40 ret, oldval, newval, uaddr, oparg); in futex_atomic_op_inuser()
44 ret, oldval, newval, uaddr, oparg); in futex_atomic_op_inuser()
48 ret, oldval, newval, uaddr, oparg); in futex_atomic_op_inuser()
52 ret, oldval, newval, uaddr, oparg); in futex_atomic_op_inuser()
56 ret, oldval, newval, uaddr, oparg); in futex_atomic_op_inuser()
65 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
66 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/arch/xtensa/include/asm/
Dfutex.h24 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ argument
43 : "=&r" (oldval), "=&r" (ret) \
53 int oldval = 0, ret; in futex_atomic_op_inuser() local
68 __futex_atomic_op("mov %1, %4", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
71 __futex_atomic_op("add %1, %0, %4", ret, oldval, uaddr, in futex_atomic_op_inuser()
75 __futex_atomic_op("or %1, %0, %4", ret, oldval, uaddr, in futex_atomic_op_inuser()
79 __futex_atomic_op("and %1, %0, %4", ret, oldval, uaddr, in futex_atomic_op_inuser()
83 __futex_atomic_op("xor %1, %0, %4", ret, oldval, uaddr, in futex_atomic_op_inuser()
96 case FUTEX_OP_CMP_EQ: return (oldval == cmparg); in futex_atomic_op_inuser()
97 case FUTEX_OP_CMP_NE: return (oldval != cmparg); in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/arch/sparc/include/asm/
Dfutex_64.h8 #define __futex_cas_op(insn, ret, oldval, uaddr, oparg) \ argument
28 : "=&r" (ret), "=&r" (oldval), "=&r" (tem) \
38 int oldval = 0, ret, tem; in futex_atomic_op_inuser() local
52 __futex_cas_op("mov\t%4, %1", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
55 __futex_cas_op("add\t%2, %4, %1", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
58 __futex_cas_op("or\t%2, %4, %1", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
61 __futex_cas_op("andn\t%2, %4, %1", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
64 __futex_cas_op("xor\t%2, %4, %1", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
74 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
75 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/arch/hexagon/include/asm/
Dfutex.h12 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ argument
28 : "=&r" (oldval), "=&r" (ret), "+m" (*uaddr) \
40 int oldval = 0, ret; in futex_atomic_op_inuser() local
51 __futex_atomic_op("%1 = %4\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
54 __futex_atomic_op("%1 = add(%0,%4)\n", ret, oldval, uaddr, in futex_atomic_op_inuser()
58 __futex_atomic_op("%1 = or(%0,%4)\n", ret, oldval, uaddr, in futex_atomic_op_inuser()
63 oldval, uaddr, oparg); in futex_atomic_op_inuser()
66 __futex_atomic_op("%1 = xor(%0,%4)\n", ret, oldval, uaddr, in futex_atomic_op_inuser()
78 ret = (oldval == cmparg); in futex_atomic_op_inuser()
81 ret = (oldval != cmparg); in futex_atomic_op_inuser()
[all …]
Dbitops.h47 int oldval; in test_and_clear_bit() local
56 : "=&r" (oldval) in test_and_clear_bit()
61 return oldval; in test_and_clear_bit()
71 int oldval; in test_and_set_bit() local
80 : "=&r" (oldval) in test_and_set_bit()
86 return oldval; in test_and_set_bit()
97 int oldval; in test_and_change_bit() local
106 : "=&r" (oldval) in test_and_change_bit()
111 return oldval; in test_and_change_bit()
/linux-4.4.14/arch/microblaze/include/asm/
Dfutex.h10 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ argument
26 : "=&r" (oldval), "=&r" (ret) \
38 int oldval = 0, ret; in futex_atomic_op_inuser() local
49 __futex_atomic_op("or %1,%4,%4;", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
52 __futex_atomic_op("add %1,%0,%4;", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
55 __futex_atomic_op("or %1,%0,%4;", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
58 __futex_atomic_op("andn %1,%0,%4;", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
61 __futex_atomic_op("xor %1,%0,%4;", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
72 ret = (oldval == cmparg); in futex_atomic_op_inuser()
75 ret = (oldval != cmparg); in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/arch/alpha/include/asm/
Dfutex.h11 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ argument
28 : "=&r" (oldval), "=&r"(ret) \
38 int oldval = 0, ret; in futex_atomic_op_inuser() local
49 __futex_atomic_op("mov %3,%1\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
52 __futex_atomic_op("addl %0,%3,%1\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
55 __futex_atomic_op("or %0,%3,%1\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
58 __futex_atomic_op("andnot %0,%3,%1\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
61 __futex_atomic_op("xor %0,%3,%1\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
71 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
72 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/arch/powerpc/include/asm/
Dfutex.h12 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ argument
30 : "=&r" (oldval), "=&r" (ret) \
40 int oldval = 0, ret; in futex_atomic_op_inuser() local
51 __futex_atomic_op("mr %1,%4\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
54 __futex_atomic_op("add %1,%0,%4\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
57 __futex_atomic_op("or %1,%0,%4\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
60 __futex_atomic_op("andc %1,%0,%4\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
63 __futex_atomic_op("xor %1,%0,%4\n", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
73 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
74 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/arch/mips/include/asm/
Dfutex.h21 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ argument
47 : "=r" (ret), "=&r" (oldval), \
76 : "=r" (ret), "=&r" (oldval), \
92 int oldval = 0, ret; in futex_atomic_op_inuser() local
103 __futex_atomic_op("move $1, %z5", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
108 ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
112 ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
116 ret, oldval, uaddr, ~oparg); in futex_atomic_op_inuser()
120 ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
130 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/arch/arm64/include/asm/
Dfutex.h29 #define __futex_atomic_op(insn, ret, oldval, uaddr, tmp, oparg) \ argument
51 : "=&r" (ret), "=&r" (oldval), "+Q" (*uaddr), "=&r" (tmp) \
62 int oldval = 0, ret, tmp; in futex_atomic_op_inuser() local
75 ret, oldval, uaddr, tmp, oparg); in futex_atomic_op_inuser()
79 ret, oldval, uaddr, tmp, oparg); in futex_atomic_op_inuser()
83 ret, oldval, uaddr, tmp, oparg); in futex_atomic_op_inuser()
87 ret, oldval, uaddr, tmp, ~oparg); in futex_atomic_op_inuser()
91 ret, oldval, uaddr, tmp, oparg); in futex_atomic_op_inuser()
101 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
102 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
[all …]
Datomic_ll_sc.h195 unsigned long tmp, oldval; \
207 : [tmp] "=&r" (tmp), [oldval] "=&r" (oldval), \
212 return oldval; \
/linux-4.4.14/arch/sh/include/asm/
Dfutex-irq.h6 int *oldval) in atomic_futex_op_xchg_set() argument
13 ret = get_user(*oldval, uaddr); in atomic_futex_op_xchg_set()
23 int *oldval) in atomic_futex_op_xchg_add() argument
30 ret = get_user(*oldval, uaddr); in atomic_futex_op_xchg_add()
32 ret = put_user(*oldval + oparg, uaddr); in atomic_futex_op_xchg_add()
40 int *oldval) in atomic_futex_op_xchg_or() argument
47 ret = get_user(*oldval, uaddr); in atomic_futex_op_xchg_or()
49 ret = put_user(*oldval | oparg, uaddr); in atomic_futex_op_xchg_or()
57 int *oldval) in atomic_futex_op_xchg_and() argument
64 ret = get_user(*oldval, uaddr); in atomic_futex_op_xchg_and()
[all …]
Dfutex.h19 int oldval = 0, ret; in futex_atomic_op_inuser() local
31 ret = atomic_futex_op_xchg_set(oparg, uaddr, &oldval); in futex_atomic_op_inuser()
34 ret = atomic_futex_op_xchg_add(oparg, uaddr, &oldval); in futex_atomic_op_inuser()
37 ret = atomic_futex_op_xchg_or(oparg, uaddr, &oldval); in futex_atomic_op_inuser()
40 ret = atomic_futex_op_xchg_and(~oparg, uaddr, &oldval); in futex_atomic_op_inuser()
43 ret = atomic_futex_op_xchg_xor(oparg, uaddr, &oldval); in futex_atomic_op_inuser()
54 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
55 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
56 case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break; in futex_atomic_op_inuser()
57 case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break; in futex_atomic_op_inuser()
[all …]
Dspinlock.h40 unsigned long oldval; in arch_spin_lock() local
51 : "=&z" (tmp), "=&r" (oldval) in arch_spin_lock()
72 unsigned long tmp, oldval; in arch_spin_trylock() local
82 : "=&z" (tmp), "=&r" (oldval) in arch_spin_trylock()
87 return oldval; in arch_spin_trylock()
175 unsigned long tmp, oldval; in arch_read_trylock() local
188 : "=&z" (tmp), "=&r" (oldval) in arch_read_trylock()
193 return (oldval > 0); in arch_read_trylock()
198 unsigned long tmp, oldval; in arch_write_trylock() local
211 : "=&z" (tmp), "=&r" (oldval) in arch_write_trylock()
[all …]
/linux-4.4.14/arch/tile/include/asm/
Datomic_64.h51 int guess, oldval = v->counter; in __atomic_add_unless() local
53 if (oldval == u) in __atomic_add_unless()
55 guess = oldval; in __atomic_add_unless()
56 oldval = cmpxchg(&v->counter, guess, guess + a); in __atomic_add_unless()
57 } while (guess != oldval); in __atomic_add_unless()
58 return oldval; in __atomic_add_unless()
73 int guess, oldval = v->counter; in atomic_xor() local
75 guess = oldval; in atomic_xor()
77 oldval = __insn_cmpexch4(&v->counter, guess ^ i); in atomic_xor()
78 } while (guess != oldval); in atomic_xor()
[all …]
Dbitops_64.h38 unsigned long guess, oldval; in change_bit() local
40 oldval = *addr; in change_bit()
42 guess = oldval; in change_bit()
43 oldval = cmpxchg(addr, guess, guess ^ mask); in change_bit()
44 } while (guess != oldval); in change_bit()
83 unsigned long guess, oldval; in test_and_change_bit() local
85 oldval = *addr; in test_and_change_bit()
87 guess = oldval; in test_and_change_bit()
88 oldval = cmpxchg(addr, guess, guess ^ mask); in test_and_change_bit()
89 } while (guess != oldval); in test_and_change_bit()
[all …]
Dfutex.h58 ({ __insn_mtspr(SPR_CMPEXCH_VALUE, oldval); __futex_asm(cmpexch4); })
62 u32 oldval, n = oparg; \
63 if ((ret = __get_user(oldval, uaddr)) == 0) { \
65 oparg = oldval ^ n; \
67 } while (ret == 0 && oldval != val); \
92 lock, oldval, oparg); \
179 u32 oldval, u32 oparg) in futex_atomic_cmpxchg_inatomic() argument
Dcompat.h78 unsigned int oldval; member
/linux-4.4.14/arch/arm/include/asm/
Dfutex.h24 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ argument
38 : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
46 u32 oldval, u32 newval) in futex_atomic_cmpxchg_inatomic() argument
69 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) in futex_atomic_cmpxchg_inatomic()
83 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ argument
92 : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
100 u32 oldval, u32 newval) in futex_atomic_cmpxchg_inatomic() argument
118 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) in futex_atomic_cmpxchg_inatomic()
137 int oldval = 0, ret, tmp; in futex_atomic_op_inuser() local
152 __futex_atomic_op("mov %0, %4", ret, oldval, tmp, uaddr, oparg); in futex_atomic_op_inuser()
[all …]
Dcmpxchg.h158 unsigned long oldval, res; in __cmpxchg() local
171 : "=&r" (res), "=&r" (oldval) in __cmpxchg()
183 : "=&r" (res), "=&r" (oldval) in __cmpxchg()
196 : "=&r" (res), "=&r" (oldval) in __cmpxchg()
203 oldval = 0; in __cmpxchg()
206 return oldval; in __cmpxchg()
247 unsigned long long oldval; in __cmpxchg64() local
261 : "=&r" (res), "=&r" (oldval), "+Qo" (*ptr) in __cmpxchg64()
265 return oldval; in __cmpxchg64()
Datomic.h85 int oldval; in atomic_cmpxchg_relaxed() local
96 : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter) in atomic_cmpxchg_relaxed()
101 return oldval; in atomic_cmpxchg_relaxed()
107 int oldval, newval; in __atomic_add_unless() local
122 : "=&r" (oldval), "=&r" (newval), "=&r" (tmp), "+Qo" (v->counter) in __atomic_add_unless()
126 if (oldval != u) in __atomic_add_unless()
129 return oldval; in __atomic_add_unless()
344 long long oldval; in ATOMIC64_OPS() local
356 : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter) in ATOMIC64_OPS()
361 return oldval; in ATOMIC64_OPS()
/linux-4.4.14/arch/mn10300/include/asm/
Dcmpxchg.h22 unsigned long oldval; in __xchg() local
32 : "=&r"(status), "=&r"(oldval), "=m"(*m) in __xchg()
36 return oldval; in __xchg()
43 unsigned long oldval; in __cmpxchg() local
55 : "=&r"(status), "=&r"(oldval), "=m"(*m) in __cmpxchg()
60 return oldval; in __cmpxchg()
77 unsigned long oldval; in __xchg() local
81 oldval = *m; in __xchg()
84 return oldval; in __xchg()
93 unsigned long oldval; in __cmpxchg() local
[all …]
/linux-4.4.14/arch/arc/include/asm/
Dfutex.h21 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\ argument
42 : "=&r" (ret), "=&r" (oldval) \
49 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\ argument
69 : "=&r" (ret), "=&r" (oldval) \
82 int oldval = 0, ret; in futex_atomic_op_inuser() local
97 __futex_atomic_op("mov %0, %3", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
101 __futex_atomic_op("add %0, %1, %3", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
104 __futex_atomic_op("or %0, %1, %3", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
107 __futex_atomic_op("bic %0, %1, %3", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
110 __futex_atomic_op("xor %0, %1, %3", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/arch/parisc/include/asm/
Dfutex.h43 int oldval = 0, ret; in futex_atomic_op_inuser() local
57 ret = get_user(oldval, uaddr); in futex_atomic_op_inuser()
63 ret = get_user(oldval, uaddr); in futex_atomic_op_inuser()
65 val = oldval + oparg; in futex_atomic_op_inuser()
71 ret = get_user(oldval, uaddr); in futex_atomic_op_inuser()
73 val = oldval | oparg; in futex_atomic_op_inuser()
79 ret = get_user(oldval, uaddr); in futex_atomic_op_inuser()
81 val = oldval & ~oparg; in futex_atomic_op_inuser()
87 ret = get_user(oldval, uaddr); in futex_atomic_op_inuser()
89 val = oldval ^ oparg; in futex_atomic_op_inuser()
[all …]
/linux-4.4.14/Documentation/zh_CN/arm/
Dkernel_user_helpers.txt136 int __kuser_cmpxchg(int32_t oldval, int32_t newval, volatile int32_t *ptr);
140 r0 = oldval
156 仅在 *ptr 为 oldval 时原子保存 newval 于 *ptr 中。
163 typedef int (__kuser_cmpxchg_t)(int oldval, int newval, volatile int *ptr);
228 int __kuser_cmpxchg64(const int64_t *oldval,
234 r0 = 指向 oldval
250 仅在 *ptr 等于 *oldval 指向的 64 位值时,原子保存 *newval
259 typedef int (__kuser_cmpxchg64_t)(const int64_t *oldval,
/linux-4.4.14/kernel/
Dsysctl_binary.c23 void __user *oldval, size_t oldlen, void __user *newval, size_t newlen);
922 void __user *oldval, size_t oldlen, void __user *newval, size_t newlen) in bin_dir() argument
929 void __user *oldval, size_t oldlen, void __user *newval, size_t newlen) in bin_string() argument
933 if (oldval && oldlen) { in bin_string()
938 result = vfs_read(file, oldval, oldlen, &pos); in bin_string()
943 lastp = oldval + copied - 1; in bin_string()
972 void __user *oldval, size_t oldlen, void __user *newval, size_t newlen) in bin_intvec() argument
983 if (oldval && oldlen) { in bin_intvec()
984 unsigned __user *vec = oldval; in bin_intvec()
1043 void __user *oldval, size_t oldlen, void __user *newval, size_t newlen) in bin_ulongvec() argument
[all …]
/linux-4.4.14/arch/m32r/kernel/
Dsys_m32r.c36 int oldval; in sys_tas() local
68 : "=&r" (oldval) in sys_tas()
76 return oldval; in sys_tas()
/linux-4.4.14/drivers/mmc/host/
Dsdhci-iproc.c103 u32 oldval, newval; in sdhci_iproc_writew() local
112 oldval = iproc_host->shadow_cmd; in sdhci_iproc_writew()
115 oldval = iproc_host->shadow_blk; in sdhci_iproc_writew()
118 oldval = sdhci_iproc_readl(host, (reg & ~3)); in sdhci_iproc_writew()
120 newval = (oldval & ~mask) | (val << word_shift); in sdhci_iproc_writew()
136 u32 oldval = sdhci_iproc_readl(host, (reg & ~3)); in sdhci_iproc_writeb() local
139 u32 newval = (oldval & ~mask) | (val << byte_shift); in sdhci_iproc_writeb()
Dsdhci-bcm2835.c78 u32 oldval = (reg == SDHCI_COMMAND) ? bcm2835_host->shadow : in bcm2835_sdhci_writew() local
83 u32 newval = (oldval & ~mask) | (val << word_shift); in bcm2835_sdhci_writew()
103 u32 oldval = bcm2835_sdhci_readl(host, reg & ~3); in bcm2835_sdhci_writeb() local
107 u32 newval = (oldval & ~mask) | (val << byte_shift); in bcm2835_sdhci_writeb()
/linux-4.4.14/drivers/i2c/busses/
Di2c-parport-light.c64 u8 oldval = port_read(op->port); in line_set() local
68 port_write(op->port, oldval | op->val); in line_set()
70 port_write(op->port, oldval & ~op->val); in line_set()
75 u8 oldval = port_read(op->port); in line_get() local
77 return ((op->inverted && (oldval & op->val) != op->val) in line_get()
78 || (!op->inverted && (oldval & op->val) == op->val)); in line_get()
Di2c-parport.c99 u8 oldval = port_read[op->port](data); in line_set() local
103 port_write[op->port](data, oldval | op->val); in line_set()
105 port_write[op->port](data, oldval & ~op->val); in line_set()
111 u8 oldval = port_read[op->port](data); in line_get() local
113 return ((op->inverted && (oldval & op->val) != op->val) in line_get()
114 || (!op->inverted && (oldval & op->val) == op->val)); in line_get()
/linux-4.4.14/drivers/irqchip/
Dirq-gic-common.c40 u32 val, oldval; in gic_configure_irq() local
47 val = oldval = readl_relaxed(base + GIC_DIST_CONFIG + confoff); in gic_configure_irq()
59 if (readl_relaxed(base + GIC_DIST_CONFIG + confoff) != val && val != oldval) in gic_configure_irq()
/linux-4.4.14/tools/testing/selftests/futex/include/
Datomic.h40 atomic_cmpxchg(atomic_t *addr, int oldval, int newval) in atomic_cmpxchg() argument
42 return __sync_val_compare_and_swap(&addr->val, oldval, newval); in atomic_cmpxchg()
Dfutextest.h223 futex_cmpxchg(futex_t *uaddr, u_int32_t oldval, u_int32_t newval) in futex_cmpxchg() argument
225 return __sync_val_compare_and_swap(uaddr, oldval, newval); in futex_cmpxchg()
/linux-4.4.14/arch/m32r/include/asm/
Dspinlock.h42 int oldval; in arch_spin_trylock() local
62 : "=&r" (oldval), "=&r" (tmp1), "=&r" (tmp2) in arch_spin_trylock()
70 return (oldval > 0); in arch_spin_trylock()
/linux-4.4.14/drivers/net/ethernet/ti/
Dnetcp_sgmii.c71 bool oldval; in netcp_sgmii_rtreset() local
75 oldval = (reg & SGMII_SRESET_RTRESET) != 0x0; in netcp_sgmii_rtreset()
83 return oldval; in netcp_sgmii_rtreset()
/linux-4.4.14/net/ipv4/netfilter/
Dipt_ECN.c51 __be16 oldval; in set_ect_tcp() local
68 oldval = ((__be16 *)tcph)[6]; in set_ect_tcp()
75 oldval, ((__be16 *)tcph)[6], false); in set_ect_tcp()
/linux-4.4.14/Documentation/arm/
Dkernel_user_helpers.txt122 int __kuser_cmpxchg(int32_t oldval, int32_t newval, volatile int32_t *ptr);
126 r0 = oldval
142 Atomically store newval in *ptr only if *ptr is equal to oldval.
149 typedef int (__kuser_cmpxchg_t)(int oldval, int newval, volatile int *ptr);
212 int __kuser_cmpxchg64(const int64_t *oldval,
218 r0 = pointer to oldval
235 is equal to the 64-bit value pointed by *oldval. Return zero if *ptr was
243 typedef int (__kuser_cmpxchg64_t)(const int64_t *oldval,
/linux-4.4.14/include/linux/
Dspinlock_up.h44 char oldval = lock->slock; in arch_spin_trylock() local
49 return oldval > 0; in arch_spin_trylock()
Dposix-timers.h135 cputime_t *newval, cputime_t *oldval);
/linux-4.4.14/scripts/kconfig/
Dconf.c169 tristate oldval, newval; in conf_sym() local
176 oldval = sym_get_tristate_value(sym); in conf_sym()
177 switch (oldval) { in conf_sym()
188 if (oldval != no && sym_tristate_within_range(sym, no)) in conf_sym()
190 if (oldval != mod && sym_tristate_within_range(sym, mod)) in conf_sym()
192 if (oldval != yes && sym_tristate_within_range(sym, yes)) in conf_sym()
221 newval = oldval; in conf_sym()
Dsymbol.c315 struct symbol_value newval, oldval; in sym_calc_value() local
334 oldval = sym->curr; in sym_calc_value()
434 if (memcmp(&oldval, &sym->curr, sizeof(oldval))) { in sym_calc_value()
494 tristate oldval = sym_get_tristate_value(sym); in sym_set_tristate_value() local
496 if (oldval != val && !sym_tristate_within_range(sym, val)) in sym_set_tristate_value()
522 if (oldval != val) in sym_set_tristate_value()
530 tristate oldval, newval; in sym_toggle_tristate_value() local
532 oldval = newval = sym_get_tristate_value(sym); in sym_toggle_tristate_value()
547 } while (oldval != newval); in sym_toggle_tristate_value()
638 const char *oldval; in sym_set_string_value() local
[all …]
Dqconf.cc470 tristate oldval; in setValue() local
480 oldval = sym_get_tristate_value(sym); in setValue()
484 if (oldval == no && item->menu->list) in setValue()
/linux-4.4.14/drivers/media/usb/em28xx/
Dem28xx-core.c218 int oldval; in em28xx_write_reg_bits() local
221 oldval = em28xx_read_reg(dev, reg); in em28xx_write_reg_bits()
222 if (oldval < 0) in em28xx_write_reg_bits()
223 return oldval; in em28xx_write_reg_bits()
225 newval = (((u8)oldval) & ~bitmask) | (val & bitmask); in em28xx_write_reg_bits()
237 int oldval; in em28xx_toggle_reg_bits() local
240 oldval = em28xx_read_reg(dev, reg); in em28xx_toggle_reg_bits()
241 if (oldval < 0) in em28xx_toggle_reg_bits()
242 return oldval; in em28xx_toggle_reg_bits()
244 newval = (~oldval & bitmask) | (oldval & ~bitmask); in em28xx_toggle_reg_bits()
/linux-4.4.14/arch/m68k/kernel/
Dsys_m68k.c461 sys_atomic_cmpxchg_32(unsigned long newval, int oldval, int d3, int d4, int d5, in sys_atomic_cmpxchg_32() argument
492 if (mem_value == oldval) in sys_atomic_cmpxchg_32()
534 sys_atomic_cmpxchg_32(unsigned long newval, int oldval, int d3, int d4, int d5, in sys_atomic_cmpxchg_32() argument
543 if (mem_value == oldval) in sys_atomic_cmpxchg_32()
/linux-4.4.14/kernel/rcu/
Dtree.c636 static void rcu_eqs_enter_common(long long oldval, bool user) in rcu_eqs_enter_common() argument
642 trace_rcu_dyntick(TPS("Start"), oldval, rdtp->dynticks_nesting); in rcu_eqs_enter_common()
648 trace_rcu_dyntick(TPS("Error on entry: not idle task"), oldval, 0); in rcu_eqs_enter_common()
685 long long oldval; in rcu_eqs_enter() local
689 oldval = rdtp->dynticks_nesting; in rcu_eqs_enter()
691 (oldval & DYNTICK_TASK_NEST_MASK) == 0); in rcu_eqs_enter()
692 if ((oldval & DYNTICK_TASK_NEST_MASK) == DYNTICK_TASK_NEST_VALUE) { in rcu_eqs_enter()
694 rcu_eqs_enter_common(oldval, user); in rcu_eqs_enter()
757 long long oldval; in rcu_irq_exit() local
762 oldval = rdtp->dynticks_nesting; in rcu_irq_exit()
[all …]
/linux-4.4.14/arch/frv/include/asm/
Dfutex.h14 u32 oldval, u32 newval) in futex_atomic_cmpxchg_inatomic() argument
/linux-4.4.14/net/netfilter/
Dxt_TCPMSS.c89 __be16 oldval; in tcpmss_mangle_packet() local
196 oldval = ((__be16 *)tcph)[6]; in tcpmss_mangle_packet()
199 oldval, ((__be16 *)tcph)[6], false); in tcpmss_mangle_packet()
/linux-4.4.14/drivers/scsi/aic94xx/
Daic94xx_reg.h226 u16 oldval, u16 newval) in asd_ddbsite_update_word() argument
230 if (oval != oldval) in asd_ddbsite_update_word()
232 asd_write_reg_word(asd_ha, AOLDDATA, oldval); in asd_ddbsite_update_word()
/linux-4.4.14/drivers/media/dvb-frontends/
Dtda10086.c217 u8 oldval; in tda10086_send_master_cmd() local
227 oldval = tda10086_read_byte(state, 0x36); in tda10086_send_master_cmd()
237 tda10086_write_byte(state, 0x36, oldval); in tda10086_send_master_cmd()
246 u8 oldval = tda10086_read_byte(state, 0x36); in tda10086_send_burst() local
266 tda10086_write_byte(state, 0x36, oldval); in tda10086_send_burst()
/linux-4.4.14/sound/mips/
Dad1843.c203 int w, mask, oldval, newbits; in ad1843_write_bits() local
207 oldval = (w & mask) >> field->lo_bit; in ad1843_write_bits()
212 return oldval; in ad1843_write_bits()
/linux-4.4.14/net/rds/
Diw_send.c344 long oldval, newval; in rds_iw_send_grab_credits() local
352 oldval = newval = atomic_read(&ic->i_credits); in rds_iw_send_grab_credits()
353 posted = IB_GET_POST_CREDITS(oldval); in rds_iw_send_grab_credits()
354 avail = IB_GET_SEND_CREDITS(oldval); in rds_iw_send_grab_credits()
386 if (atomic_cmpxchg(&ic->i_credits, oldval, newval) != oldval) in rds_iw_send_grab_credits()
Dib_send.c358 long oldval, newval; in rds_ib_send_grab_credits() local
366 oldval = newval = atomic_read(&ic->i_credits); in rds_ib_send_grab_credits()
367 posted = IB_GET_POST_CREDITS(oldval); in rds_ib_send_grab_credits()
368 avail = IB_GET_SEND_CREDITS(oldval); in rds_ib_send_grab_credits()
400 if (atomic_cmpxchg(&ic->i_credits, oldval, newval) != oldval) in rds_ib_send_grab_credits()
/linux-4.4.14/drivers/scsi/lpfc/
Dlpfc_nl.h136 uint32_t oldval; member
/linux-4.4.14/drivers/leds/
Dleds-pca955x.c136 static inline u8 pca955x_ledsel(u8 oldval, int led_num, int state) in pca955x_ledsel() argument
138 return (oldval & (~(0x3 << (led_num << 1)))) | in pca955x_ledsel()
/linux-4.4.14/kernel/time/
Dposix-cpu-timers.c1250 cputime_t *newval, cputime_t *oldval) in set_process_cpu_timer() argument
1257 if (oldval) { in set_process_cpu_timer()
1263 if (*oldval) { in set_process_cpu_timer()
1264 if (*oldval <= now) { in set_process_cpu_timer()
1266 *oldval = cputime_one_jiffy; in set_process_cpu_timer()
1268 *oldval -= now; in set_process_cpu_timer()
/linux-4.4.14/sound/ppc/
Dawacs.c175 int val, oldval; in snd_pmac_awacs_put_volume() local
190 oldval = chip->awacs_reg[reg]; in snd_pmac_awacs_put_volume()
191 val = oldval & ~(0xf | (0xf << lshift)); in snd_pmac_awacs_put_volume()
194 if (oldval != val) in snd_pmac_awacs_put_volume()
197 return oldval != reg; in snd_pmac_awacs_put_volume()
/linux-4.4.14/drivers/input/tablet/
Dgtco.c221 __u32 oldval[TAG_GLOB_MAX]; in parse_hid_report_descriptor() local
365 oldval[x] = globalval[x]; in parse_hid_report_descriptor()
379 globalval[x] = oldval[x]; in parse_hid_report_descriptor()
/linux-4.4.14/drivers/mtd/nand/
Dnand_bbt.c967 uint8_t oldval; in mark_bbt_region() local
984 oldval = bbt_get_entry(this, block); in mark_bbt_region()
986 if ((oldval != BBT_BLOCK_RESERVED) && in mark_bbt_region()
998 oldval = bbt_get_entry(this, block); in mark_bbt_region()
1000 if (oldval != BBT_BLOCK_RESERVED) in mark_bbt_region()
Ddiskonchip.c1524 unsigned char oldval; in doc_probe() local
1533 oldval = ReadDOC(doc->virtadr, Mplus_AliasResolution); in doc_probe()
1536 oldval = ReadDOC(doc->virtadr, AliasResolution); in doc_probe()
1539 if (oldval != newval) in doc_probe()
1543 oldval = ReadDOC(doc->virtadr, Mplus_AliasResolution); in doc_probe()
1547 oldval = ReadDOC(doc->virtadr, AliasResolution); in doc_probe()
1551 if (oldval == newval) { in doc_probe()
/linux-4.4.14/arch/tile/kernel/
Dperf_event.c507 u64 oldval; in tile_perf_event_update() local
522 oldval = local64_cmpxchg(&hwc->prev_count, prev_raw_count, in tile_perf_event_update()
524 if (oldval != prev_raw_count) in tile_perf_event_update()
/linux-4.4.14/include/net/
Dndisc.h214 void __user *oldval, size_t __user *oldlenp,
/linux-4.4.14/drivers/staging/panel/
Dpanel.c1761 char oldval; in phys_scan_contacts() local
1770 oldval = r_dtr(pprt) | scan_mask_o; in phys_scan_contacts()
1772 w_dtr(pprt, oldval & ~scan_mask_o); in phys_scan_contacts()
1777 w_dtr(pprt, oldval); in phys_scan_contacts()
1801 w_dtr(pprt, oldval & ~bitval); /* enable this output */ in phys_scan_contacts()
1805 w_dtr(pprt, oldval); /* disable all outputs */ in phys_scan_contacts()
/linux-4.4.14/sound/pci/hda/
Dpatch_ca0132.c3480 unsigned int oldval = snd_hda_codec_read(codec, spec->adcs[0], 0, in stop_mic1() local
3482 if (oldval != 0) in stop_mic1()
3486 return oldval; in stop_mic1()
3490 static void resume_mic1(struct hda_codec *codec, unsigned int oldval) in resume_mic1() argument
3494 if (oldval != 0) in resume_mic1()
3497 oldval); in resume_mic1()
3508 unsigned int oldval; in ca0132_cvoice_switch_set() local
3523 oldval = stop_mic1(codec); in ca0132_cvoice_switch_set()
3525 resume_mic1(codec, oldval); in ca0132_cvoice_switch_set()
4164 unsigned int oldval; in ca0132_set_dmic() local
[all …]
Dhda_codec.c939 unsigned int oldval, newval; in update_pcm_stream_id() local
942 oldval = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_CONV, 0); in update_pcm_stream_id()
944 if (oldval != newval) in update_pcm_stream_id()
957 unsigned int oldval; in update_pcm_format() local
960 oldval = snd_hda_codec_read(codec, nid, 0, in update_pcm_format()
962 if (oldval != format) { in update_pcm_format()
3871 unsigned int oldval; in snd_hda_get_default_vref() local
3872 oldval = snd_hda_codec_read(codec, pin, 0, in snd_hda_get_default_vref()
3877 if ((pincap & AC_PINCAP_VREF_80) && oldval != PIN_VREF50) in snd_hda_get_default_vref()
Dhda_generic.c2947 unsigned int val, oldval, idx; in hp_mic_jack_mode_put() local
2949 oldval = get_cur_hp_mic_jack_mode(codec, nid); in hp_mic_jack_mode_put()
2951 if (oldval == idx) in hp_mic_jack_mode_put()
4247 unsigned int val, oldval; in do_automute() local
4251 oldval = snd_hda_codec_get_pin_target(codec, nid); in do_automute()
4252 if (oldval & PIN_IN) in do_automute()
4275 val = oldval & ~PIN_HP; in do_automute()
4279 val |= oldval; in do_automute()
Dpatch_realtek.c3325 unsigned int oldval = spec->gpio_led; in alc_update_gpio_led() local
3334 if (spec->gpio_led != oldval) in alc_update_gpio_led()
/linux-4.4.14/sound/pci/lola/
Dlola_mixer.c224 unsigned int oldval, val; in lola_mixer_set_src_gain() local
228 oldval = val = readl(&chip->mixer.array->src_gain_enable); in lola_mixer_set_src_gain()
234 if ((val == oldval) && in lola_mixer_set_src_gain()
/linux-4.4.14/drivers/net/wireless/realtek/rtl8xxxu/
Drtl8xxxu.c2749 u32 oldval, x, tx0_a, reg; in rtl8xxxu_fill_iqk_matrix_a() local
2757 oldval = val32 >> 22; in rtl8xxxu_fill_iqk_matrix_a()
2762 tx0_a = (x * oldval) >> 8; in rtl8xxxu_fill_iqk_matrix_a()
2771 if ((x * oldval >> 7) & 0x1) in rtl8xxxu_fill_iqk_matrix_a()
2778 tx0_c = (y * oldval) >> 8; in rtl8xxxu_fill_iqk_matrix_a()
2792 if ((y * oldval >> 7) & 0x1) in rtl8xxxu_fill_iqk_matrix_a()
2827 u32 oldval, x, tx1_a, reg; in rtl8xxxu_fill_iqk_matrix_b() local
2835 oldval = val32 >> 22; in rtl8xxxu_fill_iqk_matrix_b()
2840 tx1_a = (x * oldval) >> 8; in rtl8xxxu_fill_iqk_matrix_b()
2849 if ((x * oldval >> 7) & 0x1) in rtl8xxxu_fill_iqk_matrix_b()
[all …]
/linux-4.4.14/drivers/media/usb/gspca/
Dov519.c2162 u8 oldval; in reg_w_mask() local
2170 oldval = ret & ~mask; /* Clear the masked bits */ in reg_w_mask()
2171 value |= oldval; /* Set the desired bits */ in reg_w_mask()
2479 u8 oldval; in i2c_w_mask() local
2485 oldval = rc & ~mask; /* Clear the masked bits */ in i2c_w_mask()
2486 value |= oldval; /* Set the desired bits */ in i2c_w_mask()
/linux-4.4.14/fs/jfs/
Djfs_dmap.c2512 int oldval; in dbAdjCtl() local
2541 oldval = dcp->stree[ti]; in dbAdjCtl()
2563 if (oldval == NOFREE) { in dbAdjCtl()
2567 oldval = dcp->stree[ti]; in dbAdjCtl()
2600 oldval); in dbAdjCtl()
2612 dcp->budmin, oldval); in dbAdjCtl()
/linux-4.4.14/drivers/net/ethernet/intel/i40evf/
Di40evf_main.c1786 u32 val, oldval; in i40evf_adminq_task() local
1817 oldval = val; in i40evf_adminq_task()
1830 if (oldval != val) in i40evf_adminq_task()
1834 oldval = val; in i40evf_adminq_task()
1847 if (oldval != val) in i40evf_adminq_task()
/linux-4.4.14/include/uapi/linux/
Dsysctl.h39 void __user *oldval; member
/linux-4.4.14/drivers/staging/rdma/ipath/
Dipath_driver.c1425 u64 val, oldval; in ipath_reset_availshadow() local
1434 oldval = dd->ipath_pioavailshadow[i]; in ipath_reset_availshadow()
1439 if (oldval != dd->ipath_pioavailshadow[i]) in ipath_reset_availshadow()
1441 i, (unsigned long long) oldval, in ipath_reset_availshadow()
/linux-4.4.14/sound/usb/
Dmixer_quirks.c788 u8 oldval = (kcontrol->private_value >> 24) & 0xff; in snd_nativeinstruments_control_put() local
792 if (oldval == newval) in snd_nativeinstruments_control_put()
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb4/
Dt4_msg.h604 __be64 oldval; member
Dcxgb4_main.c584 f->smtidx = (be64_to_cpu(rpl->oldval) >> 24) & 0xff; in filter_rpl()
/linux-4.4.14/drivers/tty/serial/8250/
D8250_pci.c225 u32 oldval; in pci_inteli960ni_init() local
231 pci_read_config_dword(dev, 0x44, &oldval); in pci_inteli960ni_init()
232 if (oldval == 0x00001000L) { /* RESET value */ in pci_inteli960ni_init()
/linux-4.4.14/mm/
Dpage_alloc.c3985 int oldval = user_zonelist_order; in numa_zonelist_order_handler() local
3994 user_zonelist_order = oldval; in numa_zonelist_order_handler()
3995 } else if (oldval != user_zonelist_order) { in numa_zonelist_order_handler()
/linux-4.4.14/drivers/tty/
Dsynclinkmp.c3066 unsigned char oldval = info->ie1_value; in wait_mgsl_event() local
3067 unsigned char newval = oldval + in wait_mgsl_event()
3070 if ( oldval != newval ) { in wait_mgsl_event()
/linux-4.4.14/drivers/net/ethernet/intel/i40e/
Di40e_main.c6184 u32 oldval; in i40e_clean_adminq_subtask() local
6193 oldval = val; in i40e_clean_adminq_subtask()
6206 if (oldval != val) in i40e_clean_adminq_subtask()
6210 oldval = val; in i40e_clean_adminq_subtask()
6223 if (oldval != val) in i40e_clean_adminq_subtask()