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

bitops_64.h (1637B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * bitops.h: Bit string operations on the V9.
      4 *
      5 * Copyright 1996, 1997 David S. Miller (davem@caip.rutgers.edu)
      6 */
      7
      8#ifndef _SPARC64_BITOPS_H
      9#define _SPARC64_BITOPS_H
     10
     11#ifndef _LINUX_BITOPS_H
     12#error only <linux/bitops.h> can be included directly
     13#endif
     14
     15#include <linux/compiler.h>
     16#include <asm/byteorder.h>
     17#include <asm/barrier.h>
     18
     19int test_and_set_bit(unsigned long nr, volatile unsigned long *addr);
     20int test_and_clear_bit(unsigned long nr, volatile unsigned long *addr);
     21int test_and_change_bit(unsigned long nr, volatile unsigned long *addr);
     22void set_bit(unsigned long nr, volatile unsigned long *addr);
     23void clear_bit(unsigned long nr, volatile unsigned long *addr);
     24void change_bit(unsigned long nr, volatile unsigned long *addr);
     25
     26int fls(unsigned int word);
     27int __fls(unsigned long word);
     28
     29#include <asm-generic/bitops/non-atomic.h>
     30
     31#include <asm-generic/bitops/fls64.h>
     32
     33#ifdef __KERNEL__
     34
     35int ffs(int x);
     36unsigned long __ffs(unsigned long);
     37
     38#include <asm-generic/bitops/ffz.h>
     39#include <asm-generic/bitops/sched.h>
     40
     41/*
     42 * hweightN: returns the hamming weight (i.e. the number
     43 * of bits set) of a N-bit word
     44 */
     45
     46unsigned long __arch_hweight64(__u64 w);
     47unsigned int __arch_hweight32(unsigned int w);
     48unsigned int __arch_hweight16(unsigned int w);
     49unsigned int __arch_hweight8(unsigned int w);
     50
     51#include <asm-generic/bitops/const_hweight.h>
     52#include <asm-generic/bitops/lock.h>
     53#endif /* __KERNEL__ */
     54
     55#ifdef __KERNEL__
     56
     57#include <asm-generic/bitops/le.h>
     58
     59#include <asm-generic/bitops/ext2-atomic-setbit.h>
     60
     61#endif /* __KERNEL__ */
     62
     63#endif /* defined(_SPARC64_BITOPS_H) */