21 lines
464 B
C++
21 lines
464 B
C++
#pragma once
|
|
#include "memory/Paging.h"
|
|
|
|
namespace Paging
|
|
{
|
|
class VirtualMemoryManager
|
|
{
|
|
public:
|
|
void init(); // fetch page table from cr3
|
|
void init(PageTable* PML4);
|
|
|
|
void map(uint64_t virtualAddress, uint64_t physicalAddress);
|
|
void unmap(uint64_t virtualAddress);
|
|
uint64_t getPhysical(uint64_t virtualAddress);
|
|
|
|
private:
|
|
PageTable* PML4;
|
|
};
|
|
}
|
|
|
|
extern Paging::VirtualMemoryManager kernelVMM; |