void * pmm_bitmap_alloc(pmm_bitmap_t *bitmap, uint64_t count, uintptr_t maxAddr, uint64_t alignment)
Allocates a contiguous region of pages from the bitmap.
void pmm_bitmap_init(pmm_bitmap_t *bitmap, void *buffer, uint64_t size, uintptr_t maxAddr)
Initializes a PMM bitmap.
void pmm_bitmap_free(pmm_bitmap_t *bitmap, void *address, uint64_t count)
Frees a region of pages, returning them to the bitmap.
EFI_PHYSICAL_ADDRESS buffer
static pmm_bitmap_t bitmap
__UINTPTR_TYPE__ uintptr_t
Represents a bitmap allocator's state.
uint64_t free
The number of free pages in the bitmap.
bitmap_t bitmap
The underlying bitmap used for tracking page status.
uint64_t total
The total number of pages managed by the bitmap.
uintptr_t maxAddr
The maximum address managed by the bitmap.