aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
diff options
context:
space:
mode:
authorFabian Imhof <fabian.imhof@ost.ch>2024-10-26 08:47:26 +0000
committerFabian Imhof <fabian.imhof@ost.ch>2024-10-26 08:47:26 +0000
commitbca36b0c10fcae447c90e211e83987fea28eecdc (patch)
tree3fa0395bbe35bcba5462a94d8ff63e3abd8d8246 /arch/x86_64/include
parent886c5e5ce7d1e6dd80d3782d5cf66bf474a6cddb (diff)
downloadteachos-bca36b0c10fcae447c90e211e83987fea28eecdc.tar.xz
teachos-bca36b0c10fcae447c90e211e83987fea28eecdc.zip
wip
Diffstat (limited to 'arch/x86_64/include')
-rw-r--r--arch/x86_64/include/arch/boot/pointers.hpp2
-rw-r--r--arch/x86_64/include/arch/memory/paging/page_table.hpp5
2 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86_64/include/arch/boot/pointers.hpp b/arch/x86_64/include/arch/boot/pointers.hpp
index 37840b6..2c42605 100644
--- a/arch/x86_64/include/arch/boot/pointers.hpp
+++ b/arch/x86_64/include/arch/boot/pointers.hpp
@@ -9,6 +9,8 @@ namespace teachos::arch::boot
{
extern "C" size_t const multiboot_information_pointer;
extern "C" memory::paging::page_table * page_map_level_4;
+ extern "C" memory::paging::page_table * page_map_level_3;
+ extern "C" memory::paging::page_table * page_map_level_2;
} // namespace teachos::arch::boot
#endif
diff --git a/arch/x86_64/include/arch/memory/paging/page_table.hpp b/arch/x86_64/include/arch/memory/paging/page_table.hpp
index 8250e30..5a072d0 100644
--- a/arch/x86_64/include/arch/memory/paging/page_table.hpp
+++ b/arch/x86_64/include/arch/memory/paging/page_table.hpp
@@ -47,6 +47,11 @@ namespace teachos::arch::memory::paging
page_table_handle(page_table * handle, level handle_level);
/**
+ * @brief Initializes one page table level 3 entry.
+ */
+ void initialize_page_table();
+
+ /**
* @brief Set every entry of the page to unused.
*/
auto zero_entries() -> void;