diff --git a/src/arch/x86_64/paging/entry.rs b/src/arch/x86_64/paging/entry.rs index d9898bf1b3b3d1539436bfab32f0d1b4deffe48e..af8fc75aaf05230271607155f405e9c6a349c5f1 100644 --- a/src/arch/x86_64/paging/entry.rs +++ b/src/arch/x86_64/paging/entry.rs @@ -27,6 +27,11 @@ pub const ADDRESS_MASK: usize = 0x000f_ffff_ffff_f000; pub const COUNTER_MASK: u64 = 0x3ff00000_00000000; impl Entry { + /// Zero entry + pub fn set_zero(&mut self) { + self.0 = 0; + } + /// Is the entry unused? pub fn is_unused(&self) -> bool { self.0 == (self.0 & COUNTER_MASK) diff --git a/src/arch/x86_64/paging/table.rs b/src/arch/x86_64/paging/table.rs index 4f6e4acae347b7a4b275bfeaa99ab24819bf9c34..3299a12bdc2efc545925ffa488e037e0dbb5d5e4 100644 --- a/src/arch/x86_64/paging/table.rs +++ b/src/arch/x86_64/paging/table.rs @@ -55,7 +55,7 @@ impl<L> Table<L> where L: TableLevel { pub fn zero(&mut self) { for entry in self.entries.iter_mut() { - entry.set_unused(); + entry.set_zero(); } }