diff --git a/kernel-src/include/bitmap.h b/kernel-src/include/bitmap.h index e431325c..faa9bf84 100644 --- a/kernel-src/include/bitmap.h +++ b/kernel-src/include/bitmap.h @@ -3,6 +3,7 @@ #include #include +#include typedef struct { long *data; @@ -16,4 +17,11 @@ void bitmap_set_range(bitmap_t *bitmap, long start, long count, int v); bool bitmap_get(bitmap_t *bitmap, long idx); long bitmap_find_first_set(bitmap_t *bitmap); +#define BITMAP_DEFINE_STATIC(name, s) \ + static long entries_bm_##name[ROUND_UP(s, sizeof(long)) / sizeof(long)]; \ + static bitmap_t name = { \ + .size = s, \ + .data = entries_bm_##name \ + } + #endif