VMM: Do not map recursively
This commit is contained in:
parent
8daffa876c
commit
15f340dbbe
@ -222,7 +222,6 @@ namespace Paging
|
||||
{
|
||||
unmap(virtualAddress);
|
||||
PDE.LargerPages = false;
|
||||
PML4->entries[PDP_i] = PDE;
|
||||
PDP = (PageTable*)PMM::request_page();
|
||||
ASSERT(!(PMM_DID_FAIL(PDP)));
|
||||
memset(PDP, 0, PAGE_SIZE);
|
||||
@ -230,7 +229,7 @@ namespace Paging
|
||||
PDE.Present = true;
|
||||
PDE.ReadWrite = true;
|
||||
if (flags & User) PDE.UserSuper = true;
|
||||
return map(virtualAddress, physicalAddress, flags);
|
||||
PML4->entries[PDP_i] = PDE;
|
||||
}
|
||||
PDP = (PageTable*)((uint64_t)PDE.Address << 12);
|
||||
}
|
||||
@ -259,7 +258,6 @@ namespace Paging
|
||||
{
|
||||
unmap(virtualAddress);
|
||||
PDE.LargerPages = false;
|
||||
PDP->entries[PD_i] = PDE;
|
||||
PD = (PageTable*)PMM::request_page();
|
||||
ASSERT(!(PMM_DID_FAIL(PD)));
|
||||
memset(PD, 0, PAGE_SIZE);
|
||||
@ -267,7 +265,7 @@ namespace Paging
|
||||
PDE.Present = true;
|
||||
PDE.ReadWrite = true;
|
||||
if (flags & User) PDE.UserSuper = true;
|
||||
return map(virtualAddress, physicalAddress, flags);
|
||||
PDP->entries[PD_i] = PDE;
|
||||
}
|
||||
PD = (PageTable*)((uint64_t)PDE.Address << 12);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user