hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_X86_CMPXCHG_64_H
#define _ASM_X86_CMPXCHG_64_H
 
static inline void set_64bit(volatile u64 *ptr, u64 val)
{
   *ptr = val;
}
 
#define arch_cmpxchg64(ptr, o, n)                    \
({                                    \
   BUILD_BUG_ON(sizeof(*(ptr)) != 8);                \
   arch_cmpxchg((ptr), (o), (n));                    \
})
 
#define arch_cmpxchg64_local(ptr, o, n)                    \
({                                    \
   BUILD_BUG_ON(sizeof(*(ptr)) != 8);                \
   arch_cmpxchg_local((ptr), (o), (n));                \
})
 
#define system_has_cmpxchg_double() boot_cpu_has(X86_FEATURE_CX16)
 
#endif /* _ASM_X86_CMPXCHG_64_H */