Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#ifndef _ASM_X86_CMPXCHG_64_H
2#define _ASM_X86_CMPXCHG_64_H
3
4static inline void set_64bit(volatile u64 *ptr, u64 val)
5{
6 *ptr = val;
7}
8
9#define __HAVE_ARCH_CMPXCHG 1
10
11#define cmpxchg64(ptr, o, n) \
12({ \
13 BUILD_BUG_ON(sizeof(*(ptr)) != 8); \
14 cmpxchg((ptr), (o), (n)); \
15})
16
17#define cmpxchg64_local(ptr, o, n) \
18({ \
19 BUILD_BUG_ON(sizeof(*(ptr)) != 8); \
20 cmpxchg_local((ptr), (o), (n)); \
21})
22
23#define system_has_cmpxchg_double() cpu_has_cx16
24
25#endif /* _ASM_X86_CMPXCHG_64_H */