physical page list mapping
[lunaix-os.git] / lunaix-os / includes / lunaix / bits.h
index ddc28004945fac665a3182a3f3190d09749a168b..fca3f6753bf680fe742ed6ee1746b42c77a4f860 100644 (file)
@@ -1,17 +1,24 @@
 #ifndef __LUNAIX_BITS_H
 #define __LUNAIX_BITS_H
 
-#include <lunaix/compiler.h>
 #include <asm/bits.h>
 
-#define BITFIELD(h, l)              (h), (l)
+#define BITS_AT(val, bitfield)       _BITS_STATIC(val, bitfield)
+
+#ifndef __ASM__
+#include <lunaix/compiler.h>
+
+#define BITFIELD(h, l)               (h), (l)
+
+#define BIT(p)                       BITFIELD(p, p)
+#define BITFLAG(p)                   (1UL << (p))
 
-#define BIT(p)                   BITFIELD(p, p)
+#define BITS_GENMASK(bitfield)       _BITS_GENMASK(bitfield)
 
-#define BITS_GENMASK(bits)       _BITS_GENMASK(bits)
+#define BITS_GET(from, bitfield)     _BITS_EXTRACT(from, bitfield)
 
-#define BITS_GET(from, bits)     _BITS_EXTRACT(from, bits)
+#define BITS_SET(to, bitfield, val)  _BITS_INSERT(to, val, bitfield)
 
-#define BITS_SET(to, bits, val)  _BITS_INSERT(to, val, bits)
+#endif
 
 #endif /* __LUNAIX_BITS_H */