diff options
Diffstat (limited to 'src/bits64/paging.rs')
-rw-r--r-- | src/bits64/paging.rs | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/src/bits64/paging.rs b/src/bits64/paging.rs index f08442a..0fbbf28 100644 --- a/src/bits64/paging.rs +++ b/src/bits64/paging.rs @@ -17,7 +17,7 @@ macro_rules! check_flag { /// A wrapper for a physical address. #[repr(transparent)] -#[derive(Copy, Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] +#[derive(Copy, Clone, Eq, Ord, PartialEq, PartialOrd)] pub struct PAddr(pub u64); impl PAddr { @@ -185,6 +185,12 @@ impl fmt::Display for PAddr { } } +impl fmt::Debug for PAddr { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + self.0.fmt(f) + } +} + impl fmt::LowerHex for PAddr { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { self.0.fmt(f) @@ -203,9 +209,16 @@ impl fmt::UpperHex for PAddr { } } +impl fmt::Pointer for PAddr { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + use core::fmt::LowerHex; + self.0.fmt(f) + } +} + /// A wrapper for a virtual address. #[repr(transparent)] -#[derive(Copy, Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] +#[derive(Copy, Clone, Eq, Ord, PartialEq, PartialOrd)] pub struct VAddr(pub u64); impl VAddr { @@ -404,6 +417,12 @@ impl fmt::Display for VAddr { } } +impl fmt::Debug for VAddr { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + self.0.fmt(f) + } +} + impl fmt::LowerHex for VAddr { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { self.0.fmt(f) @@ -422,6 +441,13 @@ impl fmt::UpperHex for VAddr { } } +impl fmt::Pointer for VAddr { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + use core::fmt::LowerHex; + self.0.fmt(f) + } +} + /// Log2 of base page size (12 bits). pub const BASE_PAGE_SHIFT: usize = 12; |