diff --git a/kernel-rs/src/memory/paging/entry.rs b/kernel-rs/src/memory/paging/entry.rs
index 506bbf6a..ae2b7355 100644
--- a/kernel-rs/src/memory/paging/entry.rs
+++ b/kernel-rs/src/memory/paging/entry.rs
@@ -19,7 +19,7 @@ bitflags! {
impl Entry {
pub fn is_unused(&self) -> bool {
- self.0 == 0;
+ self.0 == 0
}
pub fn set_unused(&mut self) {
@@ -27,21 +27,21 @@ impl Entry {
}
pub fn flags(&self) -> EntryFlags {
- EntryFlags::from_bits_truncate(self.0);
+ EntryFlags::from_bits_truncate(self.0)
}
pub fn pointed_frame(&self) -> Option {
- if self.flags().contains(PRESENT) {
+ if self.flags().contains(EntryFlags::PRESENT) {
Some(Frame::containing_address(
- self.0 as usize & 0x000fffff_fffff000 // actual addr is bits 12-51
- ))
+ // actual addr is bits 12-51
+ self.0 as usize & 0x000fffff_fffff000))
} else {
None
}
}
pub fn set(&mut self, frame: Frame, flags: EntryFlags) {
- assert!!(frame.start_address() & !0x000fffff_fffff000 == 0);
+ assert!(frame.start_address() & !0x000fffff_fffff000 == 0);
self.0 = (frame.start_address() as u64) | flags.bits();
}
}
diff --git a/kernel-rs/src/memory/paging/mod.rs b/kernel-rs/src/memory/paging/mod.rs
index 17896565..a4fa45aa 100644
--- a/kernel-rs/src/memory/paging/mod.rs
+++ b/kernel-rs/src/memory/paging/mod.rs
@@ -1,3 +1,6 @@
+mod entry;
+mod table;
+
use memory::PAGE_SIZE;
const ENTRY_COUNT: usize = 512;
diff --git a/kernel-rs/src/memory/paging/table.rs b/kernel-rs/src/memory/paging/table.rs
index aa11a3ab..5a22f689 100644
--- a/kernel-rs/src/memory/paging/table.rs
+++ b/kernel-rs/src/memory/paging/table.rs
@@ -8,8 +8,10 @@ pub struct Table {
}
impl Table {
- for entry in self.entries.iter_mut() {
- entry.set_unused();
+ pub fn zero(&mut self) {
+ for entry in self.entries.iter_mut() {
+ entry.set_unused();
+ }
}
}
@@ -22,7 +24,7 @@ impl Index for Table {
}
impl IndexMut for Table {
- fn index(&self, index: usize) -> &mut Entry {
+ fn index_mut(&mut self, index: usize) -> &mut Entry {
&mut self.entries[index]
}
}