Lines Matching +full:non +full:- +full:volatile
2 Kernel-provided User Helpers
43 --------------------
77 -------------
114 - Valid only if __kuser_helper_version >= 1 (from kernel version 2.6.12).
117 -------------
123 int __kuser_cmpxchg(int32_t oldval, int32_t newval, volatile int32_t *ptr);
134 r0 = success code (zero or non-zero)
144 Return zero if `*ptr` was changed or non-zero if no exchange happened.
150 typedef int (__kuser_cmpxchg_t)(int oldval, int newval, volatile int *ptr);
153 int atomic_add(volatile int *ptr, int val)
167 - This routine already includes memory barriers as needed.
169 - Valid only if __kuser_helper_version >= 2 (from kernel version 2.6.12).
172 --------------------
204 - Valid only if __kuser_helper_version >= 3 (from kernel version 2.6.15).
207 ---------------
215 volatile int64_t *ptr);
226 r0 = success code (zero or non-zero)
235 Atomically store the 64-bit value pointed by `*newval` in `*ptr` only if `*ptr`
236 is equal to the 64-bit value pointed by `*oldval`. Return zero if `*ptr` was
237 changed or non-zero if no exchange happened.
246 volatile int64_t *ptr);
249 int64_t atomic_add64(volatile int64_t *ptr, int64_t val)
263 - This routine already includes memory barriers as needed.
265 - Due to the length of this sequence, this spans 2 conventional kuser
268 - Valid only if __kuser_helper_version >= 5 (from kernel version 3.1).