From 5c251debfbef98360f2e00c938ef88d652469493 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 16 Mar 2026 11:29:42 +0100 Subject: x86_64/memory: fix page table flag setting --- kernel/kapi/memory.cpp | 2 +- kernel/src/memory/block_list_allocator.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'kernel') diff --git a/kernel/kapi/memory.cpp b/kernel/kapi/memory.cpp index b1fb616..d8065d4 100644 --- a/kernel/kapi/memory.cpp +++ b/kernel/kapi/memory.cpp @@ -121,7 +121,7 @@ namespace kapi::memory system::panic("[OS:MEM] Not enough memory for bitmap allocator!"); } - auto const flags = page_mapper::flags::writable | page_mapper::flags::supervisor_only; + auto const flags = page_mapper::flags::writable | page_mapper::flags::supervisor_only | page_mapper::flags::global; std::ranges::for_each(std::views::iota(0uz, bitmap_pages), [&](auto index) { auto page = page::containing(pmm_metadata_base + index * page::size); diff --git a/kernel/src/memory/block_list_allocator.cpp b/kernel/src/memory/block_list_allocator.cpp index 06b4581..be83236 100644 --- a/kernel/src/memory/block_list_allocator.cpp +++ b/kernel/src/memory/block_list_allocator.cpp @@ -93,7 +93,8 @@ namespace kernel::memory auto const total_required_size = size + sizeof(block_header); auto const frames_needed = (total_required_size + kapi::memory::frame::size - 1) / kapi::memory::frame::size; - auto const flags = kapi::memory::page_mapper::flags::writable | kapi::memory::page_mapper::flags::supervisor_only; + auto const flags = kapi::memory::page_mapper::flags::writable | kapi::memory::page_mapper::flags::supervisor_only | + kapi::memory::page_mapper::flags::global; for (auto i = 0uz; i < frames_needed; ++i) { -- cgit v1.2.3