aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/memory/paging
diff options
context:
space:
mode:
authorMatteo Gmür <matteo.gmuer1@ost.ch>2024-11-01 14:53:31 +0000
committerMatteo Gmür <matteo.gmuer1@ost.ch>2024-11-01 14:53:31 +0000
commit08875c9c42c94dd23b16baa70b2be60cf35eb253 (patch)
treea83b0394f887a7ae9e6df26b302efd9b4e3ebee1 /arch/x86_64/src/memory/paging
parentb9fdcc729c1875858297c0f3fb9d8e6feff71374 (diff)
downloadteachos-08875c9c42c94dd23b16baa70b2be60cf35eb253.tar.xz
teachos-08875c9c42c94dd23b16baa70b2be60cf35eb253.zip
Fix circular dependency issue
Diffstat (limited to 'arch/x86_64/src/memory/paging')
-rw-r--r--arch/x86_64/src/memory/paging/active_page_table.cpp10
-rw-r--r--arch/x86_64/src/memory/paging/kernel_mapper.cpp13
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