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 --- arch/x86_64/include/arch/memory/page_table.hpp | 2 +- arch/x86_64/kapi/memory.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'arch') diff --git a/arch/x86_64/include/arch/memory/page_table.hpp b/arch/x86_64/include/arch/memory/page_table.hpp index 778c201..e00e0a4 100644 --- a/arch/x86_64/include/arch/memory/page_table.hpp +++ b/arch/x86_64/include/arch/memory/page_table.hpp @@ -334,7 +334,7 @@ namespace arch::memory result |= table_flags::disable_cache; } - if ((flags & mapper_flags::supervisor_only) != mapper_flags::empty) + if ((flags & mapper_flags::supervisor_only) == mapper_flags::empty) { result |= table_flags::user_accessible; } diff --git a/arch/x86_64/kapi/memory.cpp b/arch/x86_64/kapi/memory.cpp index 6bbfad3..11bc69c 100644 --- a/arch/x86_64/kapi/memory.cpp +++ b/arch/x86_64/kapi/memory.cpp @@ -138,7 +138,7 @@ namespace kapi::memory auto page = page::containing(vga_virtual_start); auto frame = frame::containing(vga_physical_start); - mapper.map(page, frame, page_mapper::flags::writable); + mapper.map(page, frame, page_mapper::flags::writable | page_mapper::flags::supervisor_only); } auto remap_multiboot_information(page_mapper & mapper) -> void @@ -153,7 +153,7 @@ namespace kapi::memory { auto page = page::containing(mbi_virtual_start) + i; auto frame = frame::containing(mbi_physical_start) + i; - mapper.map(page, frame, page_mapper::flags::empty); + mapper.map(page, frame, page_mapper::flags::supervisor_only); } } -- cgit v1.2.3