Move PML4 initialization into the VirtualMemory class.
This commit is contained in:
parent
f22dd66c8d
commit
1db93e5b12
11 changed files with 39 additions and 25 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue