diff options
Diffstat (limited to 'arch/x86_64/include')
| -rw-r--r-- | arch/x86_64/include/arch/memory/page_table.hpp | 10 | ||||
| -rw-r--r-- | arch/x86_64/include/arch/memory/recursive_page_mapper.hpp | 5 |
2 files changed, 11 insertions, 4 deletions
diff --git a/arch/x86_64/include/arch/memory/page_table.hpp b/arch/x86_64/include/arch/memory/page_table.hpp index a82d9e0..003dbf3 100644 --- a/arch/x86_64/include/arch/memory/page_table.hpp +++ b/arch/x86_64/include/arch/memory/page_table.hpp @@ -304,6 +304,11 @@ namespace arch::memory result |= mapper_flags::supervisor_only; } + if ((flags & table_flags::global) != table_flags::empty) + { + result |= mapper_flags::global; + } + return result; } @@ -334,6 +339,11 @@ namespace arch::memory result |= table_flags::user_accessible; } + if ((flags & mapper_flags::global) != mapper_flags::empty) + { + result |= table_flags::global; + } + return result; } diff --git a/arch/x86_64/include/arch/memory/recursive_page_mapper.hpp b/arch/x86_64/include/arch/memory/recursive_page_mapper.hpp index e278a6d..a0c290a 100644 --- a/arch/x86_64/include/arch/memory/recursive_page_mapper.hpp +++ b/arch/x86_64/include/arch/memory/recursive_page_mapper.hpp @@ -10,14 +10,11 @@ namespace arch::memory struct recursive_page_mapper : kapi::memory::page_mapper { - explicit recursive_page_mapper(kapi::memory::frame_allocator & allocator); + explicit recursive_page_mapper(); auto map(kapi::memory::page page, kapi::memory::frame frame, flags flags) -> std::byte * override; auto unmap(kapi::memory::page page) -> void override; auto try_unmap(kapi::memory::page page) noexcept -> bool override; - - private: - kapi::memory::frame_allocator * m_allocator; }; } // namespace arch::memory |
