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

bitmask.h (1103B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __CPUPOWER_BITMASK__
      3#define __CPUPOWER_BITMASK__
      4
      5/* Taken over from libbitmask, a project initiated from sgi:
      6 * Url:            http://oss.sgi.com/projects/cpusets/
      7 * Unfortunately it's not very widespread, therefore relevant parts are
      8 * pasted here.
      9 */
     10
     11struct bitmask {
     12	unsigned int size;
     13	unsigned long *maskp;
     14};
     15
     16struct bitmask *bitmask_alloc(unsigned int n);
     17void bitmask_free(struct bitmask *bmp);
     18
     19struct bitmask *bitmask_setbit(struct bitmask *bmp, unsigned int i);
     20struct bitmask *bitmask_setall(struct bitmask *bmp);
     21struct bitmask *bitmask_clearall(struct bitmask *bmp);
     22
     23unsigned int bitmask_first(const struct bitmask *bmp);
     24unsigned int bitmask_next(const struct bitmask *bmp, unsigned int i);
     25unsigned int bitmask_last(const struct bitmask *bmp);
     26int bitmask_isallclear(const struct bitmask *bmp);
     27int bitmask_isbitset(const struct bitmask *bmp, unsigned int i);
     28
     29int bitmask_parselist(const char *buf, struct bitmask *bmp);
     30int bitmask_displaylist(char *buf, int len, const struct bitmask *bmp);
     31
     32
     33
     34#endif /*__CPUPOWER_BITMASK__ */