Skip to main content

PageTableMapDeposit

Struct PageTableMapDeposit 

Source
pub struct PageTableMapDeposit<T: TableMeta, A: FrameAllocator> { /* private fields */ }
Expand description

Move-only ownership of a detached page-table suffix for one exact leaf.

Dropping an unconsumed deposit releases only unpublished table frames. A successful apply transfers those frames into the live page-table tree and disarms the deposit. The target address, physical address, leaf size and PTE configuration are bound during prepare and cannot be redirected by the apply caller.

Implementations§

Source§

impl<T: TableMeta, A: FrameAllocator> PageTableMapDeposit<T, A>

Source

pub const fn vaddr(&self) -> VirtAddr

Source

pub const fn paddr(&self) -> PhysAddr

Source

pub const fn page_size(&self) -> usize

Trait Implementations§

Source§

impl<T: TableMeta, A: FrameAllocator> Debug for PageTableMapDeposit<T, A>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T, A> Freeze for PageTableMapDeposit<T, A>
where PageTableMapPlan<T, A>: Freeze, <<T as TableMeta>::P as PageTableEntry>::PteConfig: Freeze, Option<ReservedMapPath<T, A>>: Freeze,

§

impl<T, A> RefUnwindSafe for PageTableMapDeposit<T, A>
where PageTableMapPlan<T, A>: RefUnwindSafe, <<T as TableMeta>::P as PageTableEntry>::PteConfig: RefUnwindSafe, Option<ReservedMapPath<T, A>>: RefUnwindSafe,

§

impl<T, A> Send for PageTableMapDeposit<T, A>
where PageTableMapPlan<T, A>: Send, <<T as TableMeta>::P as PageTableEntry>::PteConfig: Send, Option<ReservedMapPath<T, A>>: Send,

§

impl<T, A> Sync for PageTableMapDeposit<T, A>
where PageTableMapPlan<T, A>: Sync, <<T as TableMeta>::P as PageTableEntry>::PteConfig: Sync, Option<ReservedMapPath<T, A>>: Sync,

§

impl<T, A> Unpin for PageTableMapDeposit<T, A>
where PageTableMapPlan<T, A>: Unpin, <<T as TableMeta>::P as PageTableEntry>::PteConfig: Unpin, Option<ReservedMapPath<T, A>>: Unpin,

§

impl<T, A> UnsafeUnpin for PageTableMapDeposit<T, A>
where PageTableMapPlan<T, A>: UnsafeUnpin, <<T as TableMeta>::P as PageTableEntry>::PteConfig: UnsafeUnpin, Option<ReservedMapPath<T, A>>: UnsafeUnpin,

§

impl<T, A> UnwindSafe for PageTableMapDeposit<T, A>
where PageTableMapPlan<T, A>: UnwindSafe, <<T as TableMeta>::P as PageTableEntry>::PteConfig: UnwindSafe, Option<ReservedMapPath<T, A>>: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.