Lines Matching refs:oldval
28 __kernel_cmpxchg (int oldval, int newval, volatile int *ptr)
30 register int _a0 asm ("a0") = oldval;
97 unsigned int mask, shift, oldval, newval; \
105 oldval = *wordptr; \
106 newval = ((PFX_OP (((oldval & mask) >> shift) \
108 newval |= oldval & ~mask; \
109 failure = __kernel_cmpxchg (oldval, newval, wordptr); \
116 SUBWORD_SYNC_OP (add, , +, unsigned short, 2, oldval)
117 SUBWORD_SYNC_OP (sub, , -, unsigned short, 2, oldval)
118 SUBWORD_SYNC_OP (or, , |, unsigned short, 2, oldval)
119 SUBWORD_SYNC_OP (and, , &, unsigned short, 2, oldval)
120 SUBWORD_SYNC_OP (xor, , ^, unsigned short, 2, oldval)
121 SUBWORD_SYNC_OP (nand, ~, &, unsigned short, 2, oldval)
123 SUBWORD_SYNC_OP (add, , +, unsigned char, 1, oldval)
124 SUBWORD_SYNC_OP (sub, , -, unsigned char, 1, oldval)
125 SUBWORD_SYNC_OP (or, , |, unsigned char, 1, oldval)
126 SUBWORD_SYNC_OP (and, , &, unsigned char, 1, oldval)
127 SUBWORD_SYNC_OP (xor, , ^, unsigned char, 1, oldval)
128 SUBWORD_SYNC_OP (nand, ~, &, unsigned char, 1, oldval)
168 __sync_val_compare_and_swap_4 (int *ptr, int oldval, int newval)
176 if (oldval != actual_oldval)
182 return oldval;
188 __sync_val_compare_and_swap_##WIDTH (TYPE *ptr, TYPE oldval, \
201 if (((actual_oldval & mask) >> shift) != (unsigned int) oldval) \
211 return oldval; \
221 __sync_bool_compare_and_swap_4 (int *ptr, int oldval, int newval)
223 int failure = __kernel_cmpxchg (oldval, newval, ptr);
229 __sync_bool_compare_and_swap_##WIDTH (TYPE *ptr, TYPE oldval, \
233 = __sync_val_compare_and_swap_##WIDTH (ptr, oldval, newval); \
234 return (oldval == actual_oldval); \
249 int failure, oldval;
253 oldval = *ptr;
254 failure = __kernel_cmpxchg (oldval, val, ptr);
258 return oldval;
266 unsigned int oldval, newval, shift, mask; \
274 oldval = *wordptr; \
275 newval = ((oldval & ~mask) \
277 failure = __kernel_cmpxchg (oldval, newval, wordptr); \
281 return (oldval & mask) >> shift; \