Go to the source code of this file.
|
#define | __xchg_u64 __xchg_u64_unsupported_on_32bit_kernels |
|
#define | xchg(ptr, x) |
|
#define | __HAVE_ARCH_CMPXCHG 1 |
|
#define | __cmpxchg_asm(ld, st, m, old, new) |
|
#define | __cmpxchg(ptr, old, new, pre_barrier, post_barrier) |
|
#define | cmpxchg(ptr, old, new) __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb()) |
|
#define | cmpxchg_local(ptr, old, new) __cmpxchg(ptr, old, new, , ) |
|
#define | cmpxchg64(ptr, o, n) |
|
#define | cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) |
|
#define __cmpxchg |
( |
|
ptr, |
|
|
|
old, |
|
|
|
new, |
|
|
|
pre_barrier, |
|
|
|
post_barrier |
|
) |
| |
Value:({ \
__typeof__(*(ptr)) __old = (old); \
__typeof__(*(ptr)) __new = (new); \
__typeof__(*(ptr)) __res = 0; \
\
pre_barrier; \
\
case 4: \
break; \
case 8: \
if (sizeof(long) == 8) { \
__old, __new); \
break; \
} \
default: \
__cmpxchg_called_with_bad_pointer(); \
break; \
} \
\
post_barrier; \
\
__res; \
})
Definition at line 197 of file cmpxchg.h.
#define __cmpxchg_asm |
( |
|
ld, |
|
|
|
st, |
|
|
|
m, |
|
|
|
old, |
|
|
|
new |
|
) |
| |
#define __HAVE_ARCH_CMPXCHG 1 |
#define cmpxchg64 |
( |
|
ptr, |
|
|
|
o, |
|
|
|
n |
|
) |
| |
Value:({ \
BUILD_BUG_ON(
sizeof(*(
ptr)) != 8); \
cmpxchg((
ptr), (o), (
n)); \
})
Definition at line 229 of file cmpxchg.h.
#define cmpxchg64_local |
( |
|
ptr, |
|
|
|
o, |
|
|
|
n |
|
) |
| __cmpxchg64_local_generic((ptr), (o), (n)) |
Value:({ \
BUILD_BUG_ON(
sizeof(*(
ptr)) & ~0
xc); \
\
})
Definition at line 130 of file cmpxchg.h.
void __cmpxchg_called_with_bad_pointer |
( |
void |
| ) |
|
__u64 __xchg_u64_unsupported_on_32bit_kernels |
( |
volatile __u64 * |
m, |
|
|
__u64 |
val |
|
) |
| |