Struct modulus::x64::memory::paging::Page [] [src]

pub struct Page {
    // some fields omitted
}

Methods

impl Page
[src]

fn new(number: u64) -> Self

fn virt_addr(&self) -> u64

fn p4_index(&self) -> u64

Returns index of page in P4 table

fn p3_index(&self) -> u64

Returns index of page in P3 table

fn p2_index(&self) -> u64

Returns index of page in P2 table

fn p1_index(&self) -> u64

Returns index of page in P1 table

fn map_page<T: FrameAlloc>(&self, address: u64, allocator: &mut T)

Create page tables and allocate page

This function walks through the page tables. If the next table is present, it jumps to it and continues. Otherwise, it allocates a frame and writes its address to the entry. Once it is done, it allocates the actual frame.