linux/arch/x86/include/asm/cmpxchg_64.h
<<
>>
Prefs
   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() boot_cpu_has(X86_FEATURE_CX16)
  22
  23#endif /* _ASM_X86_CMPXCHG_64_H */
  24