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 cmpxchg64(ptr, o, n)						\
10({									\
11	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
12	cmpxchg((ptr), (o), (n));					\
13})
14
15#define cmpxchg64_local(ptr, o, n)					\
16({									\
17	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
18	cmpxchg_local((ptr), (o), (n));					\
19})
20
21#define system_has_cmpxchg_double() cpu_has_cx16
22
23#endif /* _ASM_X86_CMPXCHG_64_H */
24