pub struct Mapping {
pub va_range: Range<Vaddr>,
pub pa_range: Range<Paddr>,
pub page_size: usize,
pub property: PageProperty,
}Fields§
§va_range: Range<Vaddr>§pa_range: Range<Paddr>§page_size: usize§property: PagePropertyImplementations§
Source§impl Mapping
impl Mapping
Sourcepub open spec fn inv(self) -> bool
pub open spec fn inv(self) -> bool
{
&&& set![4096, 2097152, 1073741824].contains(self.page_size)
&&& self.pa_range.start % self.page_size == 0
&&& self.pa_range.end % self.page_size == 0
&&& self.pa_range.start + self.page_size == self.pa_range.end
&&& self.pa_range.start <= self.pa_range.end < MAX_PADDR()
&&& self.va_range.start % self.page_size == 0
&&& self.va_range.end % self.page_size == 0
&&& self.va_range.start + self.page_size == self.va_range.end
&&& 0 < self.va_range.start <= self.va_range.end < MAX_USERSPACE_VADDR()
}Auto Trait Implementations§
impl Freeze for Mapping
impl RefUnwindSafe for Mapping
impl Send for Mapping
impl Sync for Mapping
impl Unpin for Mapping
impl UnwindSafe for Mapping
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more