hc
2023-10-25 6c2073b7aa40e29d0eca7d571dd7bc590c7ecaa7
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 */