summaryrefslogtreecommitdiff
path: root/Kernel/VM/PageDirectory.cpp
diff options
context:
space:
mode:
authorJesse Buhagiar <jesse.buhagiar@student.rmit.edu.au>2019-11-21 16:08:11 +1100
committerAndreas Kling <awesomekling@gmail.com>2019-11-22 16:23:23 +0100
commitbd33c6627394b2166e1419965dd3b2d2dc0c401f (patch)
treec1c8287e55ae218172560e5c7b991918ef645df6 /Kernel/VM/PageDirectory.cpp
parent61ba19f031360f4b6219204021c1ffb0d6932f4f (diff)
downloadserenity-bd33c6627394b2166e1419965dd3b2d2dc0c401f.zip
Kernel: Move Kernel mapping to 0xc0000000
The kernel is now no longer identity mapped to the bottom 8MiB of memory, and is now mapped at the higher address of `0xc0000000`. The lower ~1MiB of memory (from GRUB's mmap), however is still identity mapped to provide an easy way for the kernel to get physical pages for things such as DMA etc. These could later be mapped to the higher address too, as I'm not too sure how to go about doing this elegantly without a lot of address subtractions.
Diffstat (limited to 'Kernel/VM/PageDirectory.cpp')
-rw-r--r--Kernel/VM/PageDirectory.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Kernel/VM/PageDirectory.cpp b/Kernel/VM/PageDirectory.cpp
index 3533d6cfa9..e95b313b8e 100644
--- a/Kernel/VM/PageDirectory.cpp
+++ b/Kernel/VM/PageDirectory.cpp
@@ -22,7 +22,7 @@ RefPtr<PageDirectory> PageDirectory::find_by_pdb(u32 pdb)
}
PageDirectory::PageDirectory(PhysicalAddress paddr)
- : m_range_allocator(VirtualAddress(0xc0000000), 0x3f000000)
+ : m_range_allocator(VirtualAddress(kernelspace_range_base + 0x800000), 0x3f000000)
{
m_directory_page = PhysicalPage::create(paddr, true, false);
InterruptDisabler disabler;