diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/x86_64/include/arch/memory/page_table.hpp | 2 | ||||
| -rw-r--r-- | arch/x86_64/kapi/memory.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
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); } } |
