diff options
| author | Matteo Gmür <matteo.gmuer1@ost.ch> | 2024-11-01 14:53:31 +0000 |
|---|---|---|
| committer | Matteo Gmür <matteo.gmuer1@ost.ch> | 2024-11-01 14:53:31 +0000 |
| commit | 08875c9c42c94dd23b16baa70b2be60cf35eb253 (patch) | |
| tree | a83b0394f887a7ae9e6df26b302efd9b4e3ebee1 /arch/x86_64/src/memory | |
| parent | b9fdcc729c1875858297c0f3fb9d8e6feff71374 (diff) | |
| download | teachos-08875c9c42c94dd23b16baa70b2be60cf35eb253.tar.xz teachos-08875c9c42c94dd23b16baa70b2be60cf35eb253.zip | |
Fix circular dependency issue
Diffstat (limited to 'arch/x86_64/src/memory')
| -rw-r--r-- | arch/x86_64/src/memory/paging/active_page_table.cpp | 10 | ||||
| -rw-r--r-- | arch/x86_64/src/memory/paging/kernel_mapper.cpp | 13 |
2 files changed, 13 insertions, 10 deletions
diff --git a/arch/x86_64/src/memory/paging/active_page_table.cpp b/arch/x86_64/src/memory/paging/active_page_table.cpp index 5f31f75..38696f8 100644 --- a/arch/x86_64/src/memory/paging/active_page_table.cpp +++ b/arch/x86_64/src/memory/paging/active_page_table.cpp @@ -93,14 +93,4 @@ namespace teachos::arch::memory::paging { // Nothing to do } - - auto active_page_table::with(inactive_page_table inactive_page_table, temporary_page temporary_page, - active_page_table::function f) -> void - { - active_handle[511].set_entry(inactive_page_table.page_table_level_4_frame, entry::PRESENT | entry::WRITABLE); - invalidate_page_cache(PAGE_TABLE_LEVEL_4_ADDRESS); - - f(*mapper); - } - } // namespace teachos::arch::memory::paging diff --git a/arch/x86_64/src/memory/paging/kernel_mapper.cpp b/arch/x86_64/src/memory/paging/kernel_mapper.cpp new file mode 100644 index 0000000..9dfc5ad --- /dev/null +++ b/arch/x86_64/src/memory/paging/kernel_mapper.cpp @@ -0,0 +1,13 @@ +#include "arch/memory/paging/kernel_mapper.hpp" + +namespace teachos::arch::memory::paging +{ + auto with(inactive_page_table inactive_page_table, temporary_page temporary_page, + active_page_table::function f) -> void + { + /*active_handle[511].set_entry(inactive_page_table.page_table_level_4_frame, entry::PRESENT | entry::WRITABLE); + invalidate_page_cache(PAGE_TABLE_LEVEL_4_ADDRESS); + + f(*this);*/ + } +} // namespace teachos::arch::memory::paging |
