17 SlamBitmap() : m_EntryCount(0), m_PageCount(0) {}
18 void useMemory(
void* memory,
size_t entryCount,
size_t pageCount);
20 size_t findFreeRun(
size_t pageCount)
const;
21 void reserve(
size_t firstPage,
size_t pageCount);
22 void release(
size_t firstPage,
size_t pageCount);
23 void setMapped(
size_t page);
24 void clearMappedAndReady(
size_t page);
25 bool isReserved(
size_t page)
const;
26 bool isMapped(
size_t page)
const;
27 bool isReady(
size_t page)
const;
28 void setReady(
size_t page);
29 uint64_t reservedBits(
size_t entry)
const;
30 uintptr_t metadataAddress(
size_t entry)
const;
40 uint64_t* m_reserved =
nullptr;
41 uint64_t* m_mapped =
nullptr;
42 uint64_t* m_ready =
nullptr;
46 size_t m_FirstFreeEntry = 0;