pub struct UserPtConfig {}Expand description
The configuration for user page tables.
Trait Implementations§
Source§impl Clone for UserPtConfig
impl Clone for UserPtConfig
Source§fn clone(&self) -> UserPtConfig
fn clone(&self) -> UserPtConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for UserPtConfig
impl Debug for UserPtConfig
Source§impl PageTableConfig for UserPtConfig
impl PageTableConfig for UserPtConfig
Source§open spec fn TOP_LEVEL_INDEX_RANGE_spec() -> Range<usize>
open spec fn TOP_LEVEL_INDEX_RANGE_spec() -> Range<usize>
{ 0..256 }Source§open spec fn TOP_LEVEL_CAN_UNMAP_spec() -> b : bool
open spec fn TOP_LEVEL_CAN_UNMAP_spec() -> b : bool
{ true }Source§exec fn TOP_LEVEL_INDEX_RANGE() -> Range<usize>
exec fn TOP_LEVEL_INDEX_RANGE() -> Range<usize>
Source§exec fn TOP_LEVEL_CAN_UNMAP() -> b : bool
exec fn TOP_LEVEL_CAN_UNMAP() -> b : bool
Source§uninterp fn item_into_raw_spec(item: Self::Item) -> (Paddr, PagingLevel, PageProperty)
uninterp fn item_into_raw_spec(item: Self::Item) -> (Paddr, PagingLevel, PageProperty)
Source§exec fn item_into_raw(item: Self::Item) -> (Paddr, PagingLevel, PageProperty)
exec fn item_into_raw(item: Self::Item) -> (Paddr, PagingLevel, PageProperty)
Source§uninterp fn item_from_raw_spec(
paddr: Paddr,
level: PagingLevel,
prop: PageProperty,
) -> Self::Item
uninterp fn item_from_raw_spec( paddr: Paddr, level: PagingLevel, prop: PageProperty, ) -> Self::Item
Source§exec fn item_from_raw(
paddr: Paddr,
level: PagingLevel,
prop: PageProperty,
) -> Self::Item
exec fn item_from_raw( paddr: Paddr, level: PagingLevel, prop: PageProperty, ) -> Self::Item
Source§type E = PageTableEntry
type E = PageTableEntry
The type of the page table entry.
Source§type C = PagingConsts
type C = PagingConsts
The paging constants.
Source§type Item = MappedItem
type Item = MappedItem
The item that can be mapped into the virtual memory space using the
page table. Read more
Auto Trait Implementations§
impl Freeze for UserPtConfig
impl RefUnwindSafe for UserPtConfig
impl Send for UserPtConfig
impl Sync for UserPtConfig
impl Unpin for UserPtConfig
impl UnwindSafe for UserPtConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, VERUS_SPEC__A> FromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: From<T>,
impl<T, VERUS_SPEC__A> FromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: From<T>,
fn obeys_from_spec() -> bool
fn from_spec(v: T) -> VERUS_SPEC__A
§impl<T, VERUS_SPEC__A> IntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: Into<T>,
impl<T, VERUS_SPEC__A> IntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: Into<T>,
fn obeys_into_spec() -> bool
fn into_spec(self) -> T
§impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
fn obeys_into_spec() -> bool
fn into_spec(self) -> U
Source§impl<C> PagingConstsTrait for Cwhere
C: PageTableConfig,
impl<C> PagingConstsTrait for Cwhere
C: PageTableConfig,
Source§open spec fn BASE_PAGE_SIZE_spec() -> usize
open spec fn BASE_PAGE_SIZE_spec() -> usize
{ C::C::BASE_PAGE_SIZE_spec() }Source§exec fn BASE_PAGE_SIZE() -> usize
exec fn BASE_PAGE_SIZE() -> usize
Source§open spec fn NR_LEVELS_spec() -> u8
open spec fn NR_LEVELS_spec() -> u8
{ C::C::NR_LEVELS_spec() }Source§open spec fn HIGHEST_TRANSLATION_LEVEL_spec() -> u8
open spec fn HIGHEST_TRANSLATION_LEVEL_spec() -> u8
{ C::C::HIGHEST_TRANSLATION_LEVEL_spec() }Source§exec fn HIGHEST_TRANSLATION_LEVEL() -> u8
exec fn HIGHEST_TRANSLATION_LEVEL() -> u8
Source§open spec fn PTE_SIZE_spec() -> usize
open spec fn PTE_SIZE_spec() -> usize
{ C::C::PTE_SIZE_spec() }Source§open spec fn ADDRESS_WIDTH_spec() -> usize
open spec fn ADDRESS_WIDTH_spec() -> usize
{ C::C::ADDRESS_WIDTH_spec() }Source§exec fn ADDRESS_WIDTH() -> usize
exec fn ADDRESS_WIDTH() -> usize
Source§open spec fn VA_SIGN_EXT_spec() -> bool
open spec fn VA_SIGN_EXT_spec() -> bool
{ C::C::VA_SIGN_EXT_spec() }Source§exec fn VA_SIGN_EXT() -> bool
exec fn VA_SIGN_EXT() -> bool
Source§proof fn lemma_BASE_PAGE_SIZE_properties()
proof fn lemma_BASE_PAGE_SIZE_properties()
ensures
0 < Self::BASE_PAGE_SIZE_spec(),is_pow2(Self::BASE_PAGE_SIZE_spec() as int),Source§proof fn lemma_PTE_SIZE_properties()
proof fn lemma_PTE_SIZE_properties()
ensures
0 < Self::PTE_SIZE_spec() <= Self::BASE_PAGE_SIZE(),is_pow2(Self::PTE_SIZE_spec() as int),