From c887e22cd7827ae53fd3eab6f5af41969cdd616c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matteo=20Gm=C3=BCr?= Date: Mon, 4 Nov 2024 13:55:22 +0000 Subject: Use auto where possible --- arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp | 2 ++ arch/x86_64/src/memory/paging/page_table.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp b/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp index 2eb3c4a..05a1cf2 100644 --- a/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp +++ b/arch/x86_64/include/arch/memory/paging/kernel_mapper.hpp @@ -80,6 +80,8 @@ namespace teachos::arch::memory::paging auto const backup = allocator::physical_frame::containing_address(physical_address.value()); auto page_table_level4 = temporary_page.map_table_frame(backup, active_table); + // TODO: Page Table Level 4 is invalid, all entries point to non-existent memory :( + active_table[511].set_entry(inactive_table.page_table_level_4_frame, entry::PRESENT | entry::WRITABLE); tlb_flush_all(); map_elf_kernel_sections(active_table); diff --git a/arch/x86_64/src/memory/paging/page_table.cpp b/arch/x86_64/src/memory/paging/page_table.cpp index 3c9942a..a39c235 100644 --- a/arch/x86_64/src/memory/paging/page_table.cpp +++ b/arch/x86_64/src/memory/paging/page_table.cpp @@ -46,7 +46,7 @@ namespace teachos::arch::memory::paging auto page_table::zero_entries() -> void { - std::ranges::for_each(entries, [](entry & entry) { entry.set_unused(); }); + std::ranges::for_each(entries, [](auto & entry) { entry.set_unused(); }); } auto page_table::is_empty() const -> bool -- cgit v1.2.3