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

le.h (1335B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _ASM_GENERIC_BITOPS_LE_H_
      3#define _ASM_GENERIC_BITOPS_LE_H_
      4
      5#include <asm/types.h>
      6#include <asm/byteorder.h>
      7
      8#if defined(__LITTLE_ENDIAN)
      9
     10#define BITOP_LE_SWIZZLE	0
     11
     12#elif defined(__BIG_ENDIAN)
     13
     14#define BITOP_LE_SWIZZLE	((BITS_PER_LONG-1) & ~0x7)
     15
     16#endif
     17
     18
     19static inline int test_bit_le(int nr, const void *addr)
     20{
     21	return test_bit(nr ^ BITOP_LE_SWIZZLE, addr);
     22}
     23
     24static inline void set_bit_le(int nr, void *addr)
     25{
     26	set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
     27}
     28
     29static inline void clear_bit_le(int nr, void *addr)
     30{
     31	clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
     32}
     33
     34static inline void __set_bit_le(int nr, void *addr)
     35{
     36	__set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
     37}
     38
     39static inline void __clear_bit_le(int nr, void *addr)
     40{
     41	__clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
     42}
     43
     44static inline int test_and_set_bit_le(int nr, void *addr)
     45{
     46	return test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
     47}
     48
     49static inline int test_and_clear_bit_le(int nr, void *addr)
     50{
     51	return test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
     52}
     53
     54static inline int __test_and_set_bit_le(int nr, void *addr)
     55{
     56	return __test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
     57}
     58
     59static inline int __test_and_clear_bit_le(int nr, void *addr)
     60{
     61	return __test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
     62}
     63
     64#endif /* _ASM_GENERIC_BITOPS_LE_H_ */