Add a basic kernel heap object.

Currently allocation always fails because we don't
have a way to allocate a physical page.
This commit is contained in:
Drew Galbraith 2023-05-18 09:46:41 -07:00
parent 45b5817a36
commit 0b7e667368
6 changed files with 140 additions and 6 deletions

View file

@ -4,3 +4,19 @@
void InitPaging();
void InitializePml4(uint64_t pml4_physical_addr);
void AllocatePageDirectoryPointer(uint64_t addr);
void AllocatePageDirectory(uint64_t addr);
void AllocatePageTable(uint64_t addr);
void AllocatePage(uint64_t addr);
void EnsureResident(uint64_t addr, uint64_t size);
uint64_t* Pml4Entry(uint64_t addr);
uint64_t* PageDirectoryPointerEntry(uint64_t addr);
uint64_t* PageDirectoryEntry(uint64_t addr);
uint64_t* PageTableEntry(uint64_t addr);
bool PageDirectoryPointerLoaded(uint64_t addr);
bool PageDirectoryLoaded(uint64_t addr);
bool PageTableLoaded(uint64_t addr);
bool PageLoaded(uint64_t addr);