| /arch/sh/include/asm/ |
| A D | bitops-cas.h | 22 do old = *a; in set_bit() 23 while (__bo_cas(a, old, old|mask) != old); in set_bit() 34 do old = *a; in clear_bit() 35 while (__bo_cas(a, old, old&~mask) != old); in clear_bit() 46 do old = *a; in change_bit() 47 while (__bo_cas(a, old, old^mask) != old); in change_bit() 58 do old = *a; in test_and_set_bit() 59 while (__bo_cas(a, old, old|mask) != old); in test_and_set_bit() 72 do old = *a; in test_and_clear_bit() 73 while (__bo_cas(a, old, old&~mask) != old); in test_and_clear_bit() [all …]
|
| A D | spinlock-cas.h | 17 : "r"(old), "z"(p) in __sl_cas() 54 unsigned old; in arch_read_lock() local 55 do old = rw->lock; in arch_read_lock() 56 while (!old || __sl_cas(&rw->lock, old, old-1) != old); in arch_read_lock() 61 unsigned old; in arch_read_unlock() local 62 do old = rw->lock; in arch_read_unlock() 63 while (__sl_cas(&rw->lock, old, old+1) != old); in arch_read_unlock() 78 unsigned old; in arch_read_trylock() local 79 do old = rw->lock; in arch_read_trylock() 80 while (old && __sl_cas(&rw->lock, old, old-1) != old); in arch_read_trylock() [all …]
|
| A D | cmpxchg-cas.h | 6 __cmpxchg_u32(volatile u32 *m, unsigned long old, unsigned long new) in __cmpxchg_u32() argument 10 : "r"(old), "z"(m) in __cmpxchg_u32() 17 unsigned long old; in xchg_u32() local 18 do old = *m; in xchg_u32() 19 while (__cmpxchg_u32(m, old, val) != old); in xchg_u32() 20 return old; in xchg_u32()
|
| /arch/s390/include/asm/ |
| A D | cmpxchg.h | 22 : [old] "+d" (old), [ptr] "+Q" (*(u32 *)ptr) in __cs_asm() 25 return old; in __cs_asm() 32 : [old] "+d" (old), [ptr] "+QS" (*(u64 *)ptr) in __csg_asm() 35 return old; in __csg_asm() 58 return old; in __arch_cmpxchg1() 81 return old; in __arch_cmpxchg2() 93 return old; in __arch_cmpxchg() 218 return old; in __arch_xchg() 225 return old; in __arch_xchg() 245 : [old] "+d" (old), [ptr] "+QS" (*ptr) in arch_cmpxchg128() [all …]
|
| A D | spinlock.h | 76 int old = 0; in arch_spin_trylock_once() local 126 int old; in arch_read_lock() local 128 old = __atomic_add(1, &rw->cnts); in arch_read_lock() 129 if (old & 0xffff0000) in arch_read_lock() 140 int old = 0; in arch_write_lock() local 154 int old; in arch_read_trylock() local 156 old = READ_ONCE(rw->cnts); in arch_read_trylock() 157 return (!(old & 0xffff0000) && arch_try_cmpxchg(&rw->cnts, &old, old + 1)); in arch_read_trylock() 162 int old; in arch_write_trylock() local 164 old = READ_ONCE(rw->cnts); in arch_write_trylock() [all …]
|
| A D | futex.h | 14 __futex_atomic_##name(int oparg, int *old, u32 __user *uaddr) \ 19 instrument_copy_from_user_before(old, uaddr, sizeof(*old)); \ 33 : [rc] "=d" (rc), [old] "=&d" (*old), \ 39 instrument_copy_from_user_after(old, uaddr, sizeof(*old), 0); \ 52 int old, rc; in arch_futex_atomic_op_inuser() local 56 rc = __futex_atomic_set(oparg, &old, uaddr); in arch_futex_atomic_op_inuser() 59 rc = __futex_atomic_add(oparg, &old, uaddr); in arch_futex_atomic_op_inuser() 62 rc = __futex_atomic_or(oparg, &old, uaddr); in arch_futex_atomic_op_inuser() 65 rc = __futex_atomic_and(~oparg, &old, uaddr); in arch_futex_atomic_op_inuser() 68 rc = __futex_atomic_xor(oparg, &old, uaddr); in arch_futex_atomic_op_inuser() [all …]
|
| /arch/sparc/kernel/ |
| A D | ftrace.c | 47 : [new] "0" (new), [old] "r" (old), [ip] "r" (ip) in ftrace_modify_code() 59 u32 old, new; in ftrace_make_nop() local 61 old = ftrace_call_replace(ip, addr); in ftrace_make_nop() 69 u32 old, new; in ftrace_make_call() local 71 old = ftrace_nop; in ftrace_make_call() 79 u32 old, new; in ftrace_update_ftrace_func() local 81 old = *(u32 *) &ftrace_call; in ftrace_update_ftrace_func() 95 u32 old, new; in ftrace_enable_ftrace_graph_caller() local 97 old = *(u32 *) &ftrace_graph_call; in ftrace_enable_ftrace_graph_caller() 105 u32 old, new; in ftrace_disable_ftrace_graph_caller() local [all …]
|
| /arch/powerpc/include/asm/ |
| A D | cmpxchg.h | 49 old <<= bitoff; \ 298 : "r" (p), "r" (old), "r" (new) in __cmpxchg_u8() 318 : "r" (p), "r" (old), "r" (new) in __cmpxchg_u8_local() 337 : "r" (p), "r" (old), "r" (new) in __cmpxchg_u8_relaxed() 357 : "r" (p), "r" (old), "r" (new) in __cmpxchg_u8_acquire() 378 : "r" (p), "r" (old), "r" (new) in __cmpxchg_u16() 398 : "r" (p), "r" (old), "r" (new) in __cmpxchg_u16_local() 637 return old; in __cmpxchg() 657 return old; in __cmpxchg_local() 677 return old; in __cmpxchg_relaxed() [all …]
|
| /arch/s390/lib/ |
| A D | spinlock.c | 113 : [old] "+d" (old), [lock] "+Q" (*lock), "=@cc" (cc) in arch_try_cmpxchg_niai8() 123 int expected = old; in arch_try_cmpxchg_niai8() 128 : [old] "+d" (old), [lock] "+Q" (*lock) in arch_try_cmpxchg_niai8() 131 return expected == old; in arch_try_cmpxchg_niai8() 169 old = READ_ONCE(lp->lock); in arch_spin_lock_queued() 180 new = (old ? (old + _Q_LOCK_STEAL_ADD) : 0) | lockval; in arch_spin_lock_queued() 193 tail_id = old & _Q_TAIL_MASK; in arch_spin_lock_queued() 221 old = READ_ONCE(lp->lock); in arch_spin_lock_queued() 331 int old; in arch_write_lock_wait() local 340 old = READ_ONCE(rw->cnts); in arch_write_lock_wait() [all …]
|
| /arch/arm/kernel/ |
| A D | ftrace.c | 104 old = __opcode_to_mem_thumb32(old); in ftrace_modify_code() 106 old = __opcode_to_mem_arm(old); in ftrace_modify_code() 113 if (replaced != old) in ftrace_modify_code() 147 unsigned long new, old; in ftrace_make_call() local 156 old = ftrace_nop_replace(rec); in ftrace_make_call() 174 unsigned long new, old; in ftrace_modify_call() local 191 unsigned long old; in ftrace_make_nop() local 206 if (!old && mod) { in ftrace_make_nop() 232 unsigned long old; in prepare_ftrace_return() local 267 old = *parent; in prepare_ftrace_return() [all …]
|
| /arch/sh/kernel/ |
| A D | ftrace.c | 102 int old = atomic_read(&nmi_running); in clear_mod_flag() local 105 int new = old & ~MOD_CODE_WRITE_FLAG; in clear_mod_flag() 107 if (old == new) in clear_mod_flag() 110 old = atomic_cmpxchg(&nmi_running, old, new); in clear_mod_flag() 236 unsigned char *new, *old; in ftrace_make_nop() local 239 old = ftrace_call_replace(ip, addr); in ftrace_make_nop() 247 unsigned char *new, *old; in ftrace_make_call() local 250 old = ftrace_nop_replace(ip); in ftrace_make_call() 318 unsigned long old; in prepare_ftrace_return() local 352 : "=&r" (old), "=r" (faulted) in prepare_ftrace_return() [all …]
|
| /arch/sparc/include/asm/ |
| A D | cmpxchg_64.h | 11 __cmpxchg_u32(volatile int *m, int old, int new) in __cmpxchg_u32() argument 15 : "0" (new), "r" (m), "r" (old) in __cmpxchg_u32() 119 : "0" (new), "r" (m), "r" (old) in __cmpxchg_u64() 145 return old; in __cmpxchg_u8() 147 } while (load == old); in __cmpxchg_u8() 161 return __cmpxchg_u8(ptr, old, new); in __cmpxchg() 163 return __cmpxchg_u32(ptr, old, new); in __cmpxchg() 165 return __cmpxchg_u64(ptr, old, new); in __cmpxchg() 168 return old; in __cmpxchg() 185 unsigned long old, in __cmpxchg_local() argument [all …]
|
| A D | cmpxchg_32.h | 41 u8 __cmpxchg_u8(volatile u8 *m, u8 old, u8 new_); 42 u16 __cmpxchg_u16(volatile u16 *m, u16 old, u16 new_); 43 u32 __cmpxchg_u32(volatile u32 *m, u32 old, u32 new_); 47 __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new_, int size) in __cmpxchg() argument 50 size == 1 ? __cmpxchg_u8(ptr, old, new_) : in __cmpxchg() 51 size == 2 ? __cmpxchg_u16(ptr, old, new_) : in __cmpxchg() 52 size == 4 ? __cmpxchg_u32(ptr, old, new_) : in __cmpxchg() 53 (__cmpxchg_called_with_bad_pointer(), old); in __cmpxchg() 64 u64 __cmpxchg_u64(volatile u64 *ptr, u64 old, u64 new); 65 #define arch_cmpxchg64(ptr, old, new) __cmpxchg_u64(ptr, old, new) argument
|
| /arch/parisc/include/asm/ |
| A D | cmpxchg.h | 60 extern u8 __cmpxchg_u8(volatile u8 *ptr, u8 old, u8 new_); 62 extern u32 __cmpxchg_u32(volatile u32 *m, u32 old, u32 new_); 71 size == 8 ? __cmpxchg_u64(ptr, old, new_) : in __cmpxchg() 73 size == 4 ? __cmpxchg_u32(ptr, old, new_) : in __cmpxchg() 74 size == 2 ? __cmpxchg_u16(ptr, old, new_) : in __cmpxchg() 75 size == 1 ? __cmpxchg_u8(ptr, old, new_) : in __cmpxchg() 76 (__cmpxchg_called_with_bad_pointer(), old); in __cmpxchg() 90 unsigned long old, in __cmpxchg_local() argument 95 case 8: return __cmpxchg_u64((u64 *)ptr, old, new_); in __cmpxchg_local() 97 case 4: return __cmpxchg_u32(ptr, old, new_); in __cmpxchg_local() [all …]
|
| /arch/loongarch/include/asm/ |
| A D | cmpxchg.h | 95 #define __cmpxchg_asm(ld, st, m, old, new) \ argument 97 __typeof(old) __ret; \ 108 : "ZB"(*m), "Jr" (old), "Jr" (new) \ 123 old &= mask; in __cmpxchg_small() 133 old <<= shift; in __cmpxchg_small() 168 return __cmpxchg_small(ptr, old, new, size); in __cmpxchg() 172 (u32)old, new); in __cmpxchg() 176 (u64)old, new); in __cmpxchg() 185 #define arch_cmpxchg_local(ptr, old, new) \ argument 188 (unsigned long)(__typeof__(*(ptr)))(old), \ [all …]
|
| /arch/xtensa/include/asm/ |
| A D | cmpxchg.h | 25 __cmpxchg_u32(volatile int *p, int old, int new) in __cmpxchg_u32() argument 49 : [cmp] "a" (old) in __cmpxchg_u32() 63 : [old] "=&a" (old), [mem] "+m" (*p) in __cmpxchg_u32() 64 : [cmp] "a" (old), [new] "r" (new) in __cmpxchg_u32() 66 return old; in __cmpxchg_u32() 78 case 1: return cmpxchg_emu_u8(ptr, old, new); in __cmpxchg() 79 case 4: return __cmpxchg_u32(ptr, old, new); in __cmpxchg() 81 return old; in __cmpxchg() 95 unsigned long old, in __cmpxchg_local() argument 100 return __cmpxchg_u32(ptr, old, new); in __cmpxchg_local() [all …]
|
| /arch/x86/include/asm/ |
| A D | cmpxchg.h | 88 __typeof__(*(ptr)) __old = (old); \ 133 #define __cmpxchg(ptr, old, new, size) \ argument 148 #define arch_cmpxchg(ptr, old, new) \ argument 149 __cmpxchg(ptr, old, new, sizeof(*(ptr))) 151 #define arch_sync_cmpxchg(ptr, old, new) \ argument 152 __sync_cmpxchg(ptr, old, new, sizeof(*(ptr))) 154 #define arch_cmpxchg_local(ptr, old, new) \ argument 172 [old] "+a" (__old) \ 184 [old] "+a" (__old) \ 196 [old] "+a" (__old) \ [all …]
|
| /arch/openrisc/include/asm/bitops/ |
| A D | atomic.h | 67 unsigned long old; in test_and_set_bit() local 76 : "=&r"(old), "=&r"(tmp) in test_and_set_bit() 80 return (old & mask) != 0; in test_and_set_bit() 87 unsigned long old; in test_and_clear_bit() local 96 : "=&r"(old), "=&r"(tmp) in test_and_clear_bit() 100 return (old & mask) != 0; in test_and_clear_bit() 107 unsigned long old; in test_and_change_bit() local 116 : "=&r"(old), "=&r"(tmp) in test_and_change_bit() 120 return (old & mask) != 0; in test_and_change_bit()
|
| /arch/loongarch/kernel/ |
| A D | ftrace_dyn.c | 23 if (replaced != old) in ftrace_modify_code() 119 u32 old, new; in ftrace_modify_call() local 171 u32 old, new; in ftrace_init_nop() local 175 old = larch_insn_gen_nop(); in ftrace_init_nop() 183 u32 old, new; in ftrace_make_call() local 191 old = larch_insn_gen_nop(); in ftrace_make_call() 199 u32 old, new; in ftrace_make_nop() local 227 unsigned long old; in prepare_ftrace_return() local 233 old = *parent; in prepare_ftrace_return() 246 unsigned long old; in ftrace_graph_func() local [all …]
|
| /arch/arm64/kvm/hyp/ |
| A D | exception.c | 128 old = *vcpu_cpsr(vcpu); in enter_exception64() 131 new |= (old & PSR_N_BIT); in enter_exception64() 132 new |= (old & PSR_Z_BIT); in enter_exception64() 133 new |= (old & PSR_C_BIT); in enter_exception64() 134 new |= (old & PSR_V_BIT); in enter_exception64() 139 new |= (old & PSR_DIT_BIT); in enter_exception64() 147 new |= (old & PSR_PAN_BIT); in enter_exception64() 197 unsigned long old, new; in get_except32_cpsr() local 199 old = *vcpu_cpsr(vcpu); in get_except32_cpsr() 202 new |= (old & PSR_AA32_N_BIT); in get_except32_cpsr() [all …]
|
| /arch/sparc/lib/ |
| A D | atomic32.c | 90 if (likely(ret == old)) in arch_atomic_cmpxchg() 125 unsigned long old, flags; in sp32___set_bit() local 128 old = *addr; in sp32___set_bit() 129 *addr = old | mask; in sp32___set_bit() 132 return old & mask; in sp32___set_bit() 141 old = *addr; in sp32___clear_bit() 142 *addr = old & ~mask; in sp32___clear_bit() 145 return old & mask; in sp32___clear_bit() 154 old = *addr; in sp32___change_bit() 155 *addr = old ^ mask; in sp32___change_bit() [all …]
|
| /arch/alpha/include/asm/ |
| A D | cmpxchg.h | 117 ____cmpxchg_u8(volatile char *m, unsigned char old, unsigned char new) in ____cmpxchg_u8() argument 137 : "r" ((long)m), "Ir" (old), "1" (new) : "memory"); in ____cmpxchg_u8() 163 : "r" ((long)m), "Ir" (old), "1" (new) : "memory"); in ____cmpxchg_u16() 169 ____cmpxchg_u32(volatile int *m, int old, int new) in ____cmpxchg_u32() argument 185 : "r"((long) old), "r"(new), "m"(*m) : "memory"); in ____cmpxchg_u32() 207 : "r"((long) old), "r"(new), "m"(*m) : "memory"); in ____cmpxchg_u64() 221 size == 1 ? ____cmpxchg_u8(ptr, old, new) : in ____cmpxchg() 222 size == 2 ? ____cmpxchg_u16(ptr, old, new) : in ____cmpxchg() 223 size == 4 ? ____cmpxchg_u32(ptr, old, new) : in ____cmpxchg() 224 size == 8 ? ____cmpxchg_u64(ptr, old, new) : in ____cmpxchg() [all …]
|
| /arch/m68k/include/asm/ |
| A D | cmpxchg.h | 89 static inline unsigned long __cmpxchg(volatile void *p, unsigned long old, in __cmpxchg() argument 95 : "=d" (old), "=m" (*(char *)p) in __cmpxchg() 96 : "d" (new), "0" (old), "m" (*(char *)p)); in __cmpxchg() 100 : "=d" (old), "=m" (*(short *)p) in __cmpxchg() 101 : "d" (new), "0" (old), "m" (*(short *)p)); in __cmpxchg() 105 : "=d" (old), "=m" (*(int *)p) in __cmpxchg() 106 : "d" (new), "0" (old), "m" (*(int *)p)); in __cmpxchg() 109 old = __invalid_cmpxchg_size(p, old, new, size); in __cmpxchg() 112 return old; in __cmpxchg()
|
| /arch/openrisc/include/asm/ |
| A D | cmpxchg.h | 26 unsigned long old, unsigned long new) in cmpxchg_u32() argument 37 : "=&r"(old) in cmpxchg_u32() 38 : "r"(ptr), "r"(old), "r"(new) in cmpxchg_u32() 41 return old; in cmpxchg_u32() 59 static inline u32 cmpxchg_small(volatile void *ptr, u32 old, u32 new, in cmpxchg_small() argument 77 if (old != ret) in cmpxchg_small() 80 old32 = (load32 & ~bitmask) | (old << bitoff); in cmpxchg_small() 86 return old; in cmpxchg_small() 121 static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, in __cmpxchg() argument 127 return cmpxchg_small(ptr, old, new, size); in __cmpxchg() [all …]
|
| /arch/mips/include/asm/ |
| A D | cmpxchg.h | 112 #define __cmpxchg_asm(ld, st, m, old, new) \ argument 140 if (__ret == old) \ 158 return __cmpxchg_small(ptr, old, new, size); in __cmpxchg() 162 (u32)old, new); in __cmpxchg() 170 (u64)old, new); in __cmpxchg() 177 #define arch_cmpxchg_local(ptr, old, new) \ argument 180 (unsigned long)(__typeof__(*(ptr)))(old), \ 184 #define arch_cmpxchg(ptr, old, new) \ argument 196 __res = arch_cmpxchg_local((ptr), (old), (new)); \ 229 unsigned long long old, in __cmpxchg64() argument [all …]
|