diff options
Diffstat (limited to 'backport-include/linux/bitops.h')
-rw-r--r-- | backport-include/linux/bitops.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/backport-include/linux/bitops.h b/backport-include/linux/bitops.h new file mode 100644 index 0000000..17bd813 --- /dev/null +++ b/backport-include/linux/bitops.h @@ -0,0 +1,27 @@ +#ifndef __BACKPORT_BITOPS_H +#define __BACKPORT_BITOPS_H +#include_next <linux/bitops.h> +#include <linux/version.h> +#include <generated/utsrelease.h> + +#ifndef GENMASK + +/* + * Create a contiguous bitmask starting at bit position @l and ending at + * position @h. For example + * GENMASK_ULL(39, 21) gives us the 64bit vector 0x000000ffffe00000. + */ +#define GENMASK(h, l) (((U32_C(1) << ((h) - (l) + 1)) - 1) << (l)) +#define GENMASK_ULL(h, l) (((U64_C(1) << ((h) - (l) + 1)) - 1) << (l)) + +#endif + +#ifndef BIT_ULL +#define BIT_ULL(nr) (1ULL << (nr)) +#endif + +#ifndef BITS_PER_TYPE +#define BITS_PER_TYPE(type) (sizeof(type) * BITS_PER_BYTE) +#endif + +#endif /* __BACKPORT_BITOPS_H */ |