From 64bf7fcf58ced023be1701ed4508e38f746d40b8 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 16 Mar 2026 08:34:13 +0100 Subject: kernel/memory: implement basic free-list heap --- arch/x86_64/include/arch/memory/page_table.hpp | 10 ++++++++++ arch/x86_64/include/arch/memory/recursive_page_mapper.hpp | 5 +---- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'arch/x86_64/include') 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 -- cgit v1.2.3