Map all physical memory into the higher half instead of using recursive mapping #23
@ -212,11 +212,16 @@ namespace MMU
|
||||
auto& l2 = l2_entry(l3, virt);
|
||||
if (!l2.present)
|
||||
{
|
||||
const u64 addr = TRY(MemoryManager::alloc_frame());
|
||||
l2.present = true;
|
||||
l2.set_address(addr);
|
||||
memset(&page_table(l2), 0, ARCH_PAGE_SIZE);
|
||||
|
||||
if (use_huge_pages == UseHugePages::No)
|
||||
{
|
||||
const u64 addr = TRY(MemoryManager::alloc_frame());
|
||||
l2.set_address(addr);
|
||||
memset(&page_table(l2), 0, ARCH_PAGE_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & Flags::ReadWrite) l2.read_write = true;
|
||||
if (flags & Flags::User) l2.user = true;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user