Move PML4 initialization into the VirtualMemory class.

This commit is contained in:
Drew Galbraith 2023-05-30 21:39:19 -07:00
parent f22dd66c8d
commit 1db93e5b12
11 changed files with 39 additions and 25 deletions

View file

@ -38,16 +38,21 @@ class VirtualMemory {
KERNEL_STACK,
};
VirtualMemory() {}
static VirtualMemory ForRoot();
VirtualMemory();
VirtualMemory(const VirtualMemory&) = delete;
VirtualMemory(VirtualMemory&&) = delete;
uint64_t cr3() { return cr3_; }
uint64_t GetNextMemMapAddr(uint64_t size);
// Kernel
uint64_t* AllocateKernelStack();
private:
VirtualMemory(uint64_t cr3) : cr3_(cr3) {}
uint64_t cr3_ = 0;
uint64_t next_memmap_addr_ = 0x20'00000000;