From f4ab51df7f9ed783dbcfbecffc0a9d919c501135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matteo=20Gm=C3=BCr?= Date: Sat, 26 Oct 2024 11:44:12 +0000 Subject: Write P3 table into P4 table at index 0 --- arch/x86_64/include/arch/memory/paging/page_entry.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'arch/x86_64/include') diff --git a/arch/x86_64/include/arch/memory/paging/page_entry.hpp b/arch/x86_64/include/arch/memory/paging/page_entry.hpp index 9ca5469..ba972d6 100644 --- a/arch/x86_64/include/arch/memory/paging/page_entry.hpp +++ b/arch/x86_64/include/arch/memory/paging/page_entry.hpp @@ -34,6 +34,14 @@ namespace teachos::arch::memory::paging 1UL << 63UL, ///< Page is forbidden from executing code (NXE bit in the EFER register has to be set) }; + /** + * @brief Creates a new entry object from a 64bit address. Should follow the scheme where bit index 12 - 51 are the + * actual address and the other bits are flags. + * + * @param flags Flags that will be passed to underlying std::bitset. + */ + explicit entry(uint64_t flags); + /** * @brief Whether the current page is unused, meaning the underlying std::bitset is 0. * -- cgit v1.2.3