From 325d540236476b50af78e5781e3afead9e910359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matteo=20Gm=C3=BCr?= Date: Mon, 11 Nov 2024 10:10:08 +0000 Subject: Add todos to section that cause the crash --- arch/x86_64/src/memory/paging/inactive_page_table.cpp | 1 + arch/x86_64/src/memory/paging/page_entry.cpp | 1 + 2 files changed, 2 insertions(+) (limited to 'arch') diff --git a/arch/x86_64/src/memory/paging/inactive_page_table.cpp b/arch/x86_64/src/memory/paging/inactive_page_table.cpp index 4e0610e..d2eecb8 100644 --- a/arch/x86_64/src/memory/paging/inactive_page_table.cpp +++ b/arch/x86_64/src/memory/paging/inactive_page_table.cpp @@ -12,6 +12,7 @@ namespace teachos::arch::memory::paging temporary_page & temporary_page) : page_table_level_4_frame{frame} { + // TODO: Here the exact same mapping code auto table = temporary_page.map_table_frame(page_table_level_4_frame, active_page_table); table.zero_entries(); table[511].set_entry(page_table_level_4_frame, entry::PRESENT | entry::WRITABLE); diff --git a/arch/x86_64/src/memory/paging/page_entry.cpp b/arch/x86_64/src/memory/paging/page_entry.cpp index 5aa0982..ba3deb3 100644 --- a/arch/x86_64/src/memory/paging/page_entry.cpp +++ b/arch/x86_64/src/memory/paging/page_entry.cpp @@ -51,6 +51,7 @@ namespace teachos::arch::memory::paging { exception_handling::assert((frame.start_address() & ~PHYSICAL_ADDRESS_MASK) == 0, "[Paging Entry] Start address is not aligned with page"); + // TODO: Crash when trying to write invalid value at 0xffffff8657f5d5f0 flags = frame.start_address() | additional_flags.to_ulong(); } -- cgit v1.2.3