aboutsummaryrefslogtreecommitdiff
path: root/src/arch/x86_64/paging/mod.rs
diff options
context:
space:
mode:
authorTianhao Wang <shrik3@mailbox.org>2024-06-05 23:24:01 +0200
committerTianhao Wang <shrik3@mailbox.org>2024-06-11 15:17:14 +0200
commitca8bc76fd5319842954508484542f4beb6b591d0 (patch)
tree5f096dc62e9bbb65056ee772cb7bbf17bc646107 /src/arch/x86_64/paging/mod.rs
parent38883485c80841f15365d0502418dcc224f01d45 (diff)
interrupt: set up dummy pagefault handler
Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
Diffstat (limited to 'src/arch/x86_64/paging/mod.rs')
-rw-r--r--src/arch/x86_64/paging/mod.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/x86_64/paging/mod.rs b/src/arch/x86_64/paging/mod.rs
index ab93938..257b7b3 100644
--- a/src/arch/x86_64/paging/mod.rs
+++ b/src/arch/x86_64/paging/mod.rs
@@ -1,6 +1,7 @@
// code derived from the x86_64 crate
// https://docs.rs/x86_64/latest/src/x86_64/addr.rs.html
// see ATTRIBUTIONS
+pub mod fault;
use crate::defs::*;
use bitflags::bitflags;
#[repr(align(4096))]
@@ -98,6 +99,11 @@ impl Pagetable {
pub fn is_empty(&self) -> bool {
self.iter().all(|entry| entry.is_unused())
}
+
+ /// walk the page table, create missing tables, return mapped physical frame
+ pub fn map_page(&self, _va: VAddr) {
+ todo!()
+ }
}
impl VAddr {