From 63fcc204cb567958bbfc1f039f5f522e9db87576 Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jeremy@system76.com>
Date: Tue, 30 Nov 2021 20:56:55 -0700
Subject: [PATCH] x86 paging refactor for debugger

---
 src/arch/x86_64/paging/mod.rs | 3 +++
 src/context/arch/x86_64.rs    | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/arch/x86_64/paging/mod.rs b/src/arch/x86_64/paging/mod.rs
index 70d1f0d6..b7ed9066 100644
--- a/src/arch/x86_64/paging/mod.rs
+++ b/src/arch/x86_64/paging/mod.rs
@@ -265,7 +265,10 @@ impl ActivePageTable {
             })
         };
         unsafe {
+            // Activate new page table
             RmmA::set_table(new_table.frame.start_address());
+            // Update mapper to new page table
+            self.mapper = Mapper::current();
         }
         old_table
     }
diff --git a/src/context/arch/x86_64.rs b/src/context/arch/x86_64.rs
index bebc8a2a..ebb56d0e 100644
--- a/src/context/arch/x86_64.rs
+++ b/src/context/arch/x86_64.rs
@@ -76,7 +76,7 @@ impl Context {
         }
     }
 
-    pub fn get_page_utable(&mut self) -> usize {
+    pub fn get_page_utable(&self) -> usize {
         self.cr3
     }
 
-- 
GitLab