acadia/zion/memory/paging_util.h
Drew Galbraith 0b7e667368 Add a basic kernel heap object.
Currently allocation always fails because we don't
have a way to allocate a physical page.
2023-05-18 10:59:39 -07:00

22 lines
656 B
C

#pragma once
#include <stdint.h>
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);