Struct keos::mm::Page

source ·
pub struct Page { /* private fields */ }
Expand description

A Page representation.

Implementations§

source§

impl Page

source

pub fn new() -> Option<Self>

Allocate a page.

source

pub fn va(&self) -> Va

Get virtual address of this page.

source

pub fn pa(&self) -> Pa

Get physical address of this page.

source

pub fn into_raw(self) -> Pa

Consumes the page, returning a pa of the page.

After calling this function, the caller is responsible for the memory previously managed by the Page. In particular, the caller should properly release the page by calling the Page::from_pa.

source

pub unsafe fn from_pa(pa: Pa) -> Self

Constructs a page from a pa.

For this to be safe, the pa must have been taken by Page::into_raw.

Safety

This function is unsafe because improper use may lead to memory problems. For example, a double-free may occur if the function is called twice on the same raw pointer.

source

pub unsafe fn inner(&self) -> &[u8]

Get reference of underlying slice of the Page.

source

pub unsafe fn inner_mut(&mut self) -> &mut [u8]

Get mutable reference of underlying sliceof the Page.

Auto Trait Implementations§

§

impl RefUnwindSafe for Page

§

impl Send for Page

§

impl Sync for Page

§

impl Unpin for Page

§

impl UnwindSafe for Page

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

const: unstable§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

const: unstable§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

const: unstable§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

const: unstable§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

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

§

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

The type returned in the event of a conversion error.
const: unstable§

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

Performs the conversion.