cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cmpxchg_64.h (706B)


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