aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
diff options
context:
space:
mode:
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;