[][src]Enum sunrise_kernel::paging::PageState

pub enum PageState<T> {
    Available,
    Guarded,
    Present(T),
}

A hierarchical paging is composed of entries. An entry can be in the following states:

PageState is generic over various kind of Present states, similar to the Option type.

Variants

Available

Available, aka unused. Will page fault on use.

Guarded

Guarded. Reserved and will cause a pagefault on use. Used to create guard pages (in KernelStack, etc.) in KernelLand, where the tracking of the type of each memory region is done directly in the page tables.

Present(T)

Present. Used and has a backing physical address.

Implementations

impl<T> PageState<T>[src]

pub fn unwrap(self) -> T[src]

Move the value T out of the PageState if it is Present(T).

Panics

Panics if the self value isn't Present.

pub fn map<U, F>(self, f: F) -> PageState<U> where
    F: FnOnce(T) -> U, 
[src]

Maps a PageState to PageState by applying a function to a contained value.

pub fn as_option(&self) -> Option<&T>[src]

Turns the PageState into an Option, setting both Guarded and Available state to None, and Present(t) state to Some(t).

Trait Implementations

impl<T: Debug> Debug for PageState<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for PageState<T> where
    T: RefUnwindSafe

impl<T> Send for PageState<T> where
    T: Send

impl<T> Sync for PageState<T> where
    T: Sync

impl<T> Unpin for PageState<T> where
    T: Unpin

impl<T> UnwindSafe for PageState<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.