1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:47:44 +00:00

Kernel: Tidy up the lowest part of the address space

After MemoryManager initialization, we now only leave the lowest 1MB
of memory identity-mapped. The very first (null) page is not present.
All other pages are RW but not X. Supervisor only.
This commit is contained in:
Andreas Kling 2020-01-17 22:02:10 +01:00
parent 545ec578b3
commit 59b584d983
2 changed files with 38 additions and 8 deletions

View file

@ -122,6 +122,7 @@ private:
void detect_cpu_features();
void initialize_paging();
void setup_low_1mb();
void parse_memory_map();
void flush_entire_tlb();
void flush_tlb(VirtualAddress);
@ -147,7 +148,7 @@ private:
PageTableEntry& ensure_pte(PageDirectory&, VirtualAddress);
RefPtr<PageDirectory> m_kernel_page_directory;
PageTableEntry* m_low_page_tables[4] { nullptr };
RefPtr<PhysicalPage> m_low_page_table;
VirtualAddress m_quickmap_addr;