# PageTable in os::mm::page_table - Rust
API documentation for the Rust `PageTable` struct in crate `os`.
Keywords: rust, rustlang, rust-lang, PageTable

# Struct os::mm::page_table::PageTable

source · [−]

    pub struct PageTable {
        root_ppn: PhysPageNum,
        frames: Vec<FrameTracker>,
    }

## Fields

`root_ppn: PhysPageNum` `frames: Vec<FrameTracker>`

## Implementations

source

### impl PageTable

Assume that it won’t oom when creating/mapping.

source

#### pub fn new() -> Self

source

#### pub fn from_token(satp: usize) -> Self

Temporarily used to get arguments from user space.

source

#### fn find_pte_create(&mut self, vpn: VirtPageNum) -> Option<&mut PageTableEntry>

source

#### fn find_pte(&self, vpn: VirtPageNum) -> Option<&mut PageTableEntry>

source

#### pub fn map(&mut self, vpn: VirtPageNum, ppn: PhysPageNum, flags: PTEFlags)

source

#### pub fn unmap(&mut self, vpn: VirtPageNum)

source

#### pub fn translate(&self, vpn: VirtPageNum) -> Option<PageTableEntry>

source

#### pub fn translate_va(&self, va: VirtAddr) -> Option<PhysAddr>

source

#### pub fn token(&self) -> usize

## Auto Trait Implementations

### impl RefUnwindSafe for PageTable

### impl Send for PageTable

### impl Sync for PageTable

### impl Unpin for PageTable

### impl UnwindSafe for PageTable

## Blanket Implementations

source

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

source

#### pub fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more

source

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

source

#### pub fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

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

source

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

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

source

#### pub fn from(t: T) -> T

Performs the conversion.

source

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

source

#### pub fn into(self) -> U

Performs the conversion.

source

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

#### type Error = Infallible

The type returned in the event of a conversion error.

source

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

Performs the conversion.

source

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

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

The type returned in the event of a conversion error.

source

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

Performs the conversion.