6 if (length == 0 || minIdx >= maxIdx || maxIdx >
map->
length)
19 while (idx <= maxIdx - length)
22 if (firstSet >= idx + length)
27 idx =
ROUND_UP(firstSet + 1, alignment);
uint64_t bitmap_find_first_set(bitmap_t *map, uint64_t startIdx, uint64_t endIdx)
Find the first set bit in the bitmap.
void bitmap_set_range(bitmap_t *map, uint64_t low, uint64_t high)
Set a range of bits in the bitmap.
uint64_t bitmap_find_clear_region_and_set(bitmap_t *map, uint64_t minIdx, uintptr_t maxIdx, uint64_t length, uint64_t alignment)
Find a clear region of specified length and alignment, and set it.
#define ROUND_UP(number, multiple)
__UINTPTR_TYPE__ uintptr_t