aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2024-10-28 14:41:31 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2024-10-28 14:41:31 +0000
commitaa981cad951c4aa2a5e2f7a7f8f1b7b9a0ff4bcd (patch)
tree1a9f314e3751a164ec20bdd71947d403ec6bbb6f /arch/x86_64/include
parente5925df93411429340d2887594004aaa690d2ef5 (diff)
downloadteachos-aa981cad951c4aa2a5e2f7a7f8f1b7b9a0ff4bcd.tar.xz
teachos-aa981cad951c4aa2a5e2f7a7f8f1b7b9a0ff4bcd.zip
Fix lost updates, because of writing into copies instead of references
Diffstat (limited to 'arch/x86_64/include')
-rw-r--r--arch/x86_64/include/arch/memory/paging/page_mapper.hpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86_64/include/arch/memory/paging/page_mapper.hpp b/arch/x86_64/include/arch/memory/paging/page_mapper.hpp
index 4edcea9..d852fbc 100644
--- a/arch/x86_64/include/arch/memory/paging/page_mapper.hpp
+++ b/arch/x86_64/include/arch/memory/paging/page_mapper.hpp
@@ -79,7 +79,7 @@ namespace teachos::arch::memory::paging
current_handle = current_handle.next_table_or_create(allocator, page.get_level_index(level));
}
- auto level1_entry = current_handle[page.get_level_index(page_table_handle::LEVEL1)];
+ auto & level1_entry = current_handle[page.get_level_index(page_table_handle::LEVEL1)];
arch::exception_handling::assert(!level1_entry.contains_flags(entry::HUGE_PAGE),
"[Page Mapper] Unable to map huge pages");
arch::exception_handling::assert(level1_entry.is_unused(), "[Page Mapper] Page table entry is already used");
@@ -141,7 +141,7 @@ namespace teachos::arch::memory::paging
current_handle = next_handle.value();
}
- auto level1_entry = current_handle[page.get_level_index(page_table_handle::LEVEL1)];
+ auto & level1_entry = current_handle[page.get_level_index(page_table_handle::LEVEL1)];
auto const level1_frame = level1_entry.calculate_pointed_to_frame();
exception_handling::assert(level1_frame.has_value(),
"[Page Mapper] Attempted to unmap page, which has not been mapped previously");