Lines Matching refs:ptr
136 int __kuser_cmpxchg(int32_t oldval, int32_t newval, volatile int32_t *ptr);
142 r2 = ptr
156 仅在 *ptr 为 oldval 时原子保存 newval 于 *ptr 中。
157 如果 *ptr 被改变,则返回值为零,否则为非零值。
158 如果 *ptr 被改变,则 C flag 也会被置 1,以实现调用代码中的汇编
163 typedef int (__kuser_cmpxchg_t)(int oldval, int newval, volatile int *ptr);
166 int atomic_add(volatile int *ptr, int val)
171 old = *ptr;
173 } while(__kuser_cmpxchg(old, new, ptr));
230 volatile int64_t *ptr);
250 仅在 *ptr 等于 *oldval 指向的 64 位值时,原子保存 *newval
251 指向的 64 位值于 *ptr 中。如果 *ptr 被改变,则返回值为零,
254 如果 *ptr 被改变,则 C flag 也会被置 1,以实现调用代码中的汇编
261 volatile int64_t *ptr);
264 int64_t atomic_add64(volatile int64_t *ptr, int64_t val)
269 old = *ptr;
271 } while(__kuser_cmpxchg64(&old, &new, ptr));