physical page list mapping
[lunaix-os.git] / lunaix-os / includes / lunaix / bits.h
1 #ifndef __LUNAIX_BITS_H
2 #define __LUNAIX_BITS_H
3
4 #include <asm/bits.h>
5
6 #define BITS_AT(val, bitfield)       _BITS_STATIC(val, bitfield)
7
8 #ifndef __ASM__
9 #include <lunaix/compiler.h>
10
11 #define BITFIELD(h, l)               (h), (l)
12
13 #define BIT(p)                       BITFIELD(p, p)
14 #define BITFLAG(p)                   (1UL << (p))
15
16 #define BITS_GENMASK(bitfield)       _BITS_GENMASK(bitfield)
17
18 #define BITS_GET(from, bitfield)     _BITS_EXTRACT(from, bitfield)
19
20 #define BITS_SET(to, bitfield, val)  _BITS_INSERT(to, val, bitfield)
21
22 #endif
23
24 #endif /* __LUNAIX_BITS_H */