aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2024-10-22 08:13:13 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2024-10-22 08:13:13 +0000
commitd43f5cb4c13b39b89951434e73078859d121cd4a (patch)
tree3ded70703ca798a2755c29cb36ab2c02041f999a /arch/x86_64/include
parent9a1f3e66b6c860fdca689241e78f85bdbb5b4da5 (diff)
downloadteachos-d43f5cb4c13b39b89951434e73078859d121cd4a.tar.xz
teachos-d43f5cb4c13b39b89951434e73078859d121cd4a.zip
Implement precrement instead
Diffstat (limited to 'arch/x86_64/include')
-rw-r--r--arch/x86_64/include/arch/memory/paging/page_mapper.hpp4
-rw-r--r--arch/x86_64/include/arch/memory/paging/page_table.hpp2
2 files changed, 3 insertions, 3 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 173db9b..a2d076a 100644
--- a/arch/x86_64/include/arch/memory/paging/page_mapper.hpp
+++ b/arch/x86_64/include/arch/memory/paging/page_mapper.hpp
@@ -63,7 +63,7 @@ namespace teachos::arch::memory::paging
{
auto current_handle = create_or_get();
- for (auto level = page_table_handle::LEVEL4; level != page_table_handle::LEVEL1; level--)
+ for (auto level = page_table_handle::LEVEL4; level != page_table_handle::LEVEL1; --level)
{
auto level_index = page.get_level_index(level);
auto next_handle = current_handle.next_table(level_index);
@@ -136,7 +136,7 @@ namespace teachos::arch::memory::paging
auto current_handle = create_or_get();
- for (auto level = page_table_handle::LEVEL4; level != page_table_handle::LEVEL1; level--)
+ for (auto level = page_table_handle::LEVEL4; level != page_table_handle::LEVEL1; --level)
{
auto level_index = page.get_level_index(level);
auto next_handle = current_handle.next_table(level_index);
diff --git a/arch/x86_64/include/arch/memory/paging/page_table.hpp b/arch/x86_64/include/arch/memory/paging/page_table.hpp
index e6542a2..1fd6f61 100644
--- a/arch/x86_64/include/arch/memory/paging/page_table.hpp
+++ b/arch/x86_64/include/arch/memory/paging/page_table.hpp
@@ -83,7 +83,7 @@ namespace teachos::arch::memory::paging
* @param value Value we want to decrement on
* @return level New level value decrement by one, meaning the level is also decrement by one Level4 --> Level3, ...
*/
- friend auto operator--(level & value, int) -> level;
+ friend auto operator--(level & value) -> level &;
private:
page_table * handle; ///< Handle to underlying page table, can never be null (invariant ensured by constructor)