Trait kernel_hal::PageTableTrait [−][src]
Required methods
fn map(
&mut self,
_vaddr: VirtAddr,
_paddr: PhysAddr,
_flags: MMUFlags
) -> Result<()>[src]
&mut self,
_vaddr: VirtAddr,
_paddr: PhysAddr,
_flags: MMUFlags
) -> Result<()>
Map the page of vaddr to the frame of paddr with flags.
fn unmap(&mut self, _vaddr: VirtAddr) -> Result<()>[src]
Unmap the page of vaddr.
fn protect(&mut self, _vaddr: VirtAddr, _flags: MMUFlags) -> Result<()>[src]
Change the flags of the page of vaddr.
fn query(&mut self, _vaddr: VirtAddr) -> Result<PhysAddr>[src]
Query the physical address which the page of vaddr maps to.
fn table_phys(&self) -> PhysAddr[src]
Get the physical address of root page table.
Provided methods
fn map_many(
&mut self,
vaddr: VirtAddr,
paddrs: &[PhysAddr],
flags: MMUFlags
) -> Result<()>[src]
&mut self,
vaddr: VirtAddr,
paddrs: &[PhysAddr],
flags: MMUFlags
) -> Result<()>
fn map_cont(
&mut self,
vaddr: VirtAddr,
paddr: PhysAddr,
pages: usize,
flags: MMUFlags
) -> Result<()>[src]
&mut self,
vaddr: VirtAddr,
paddr: PhysAddr,
pages: usize,
flags: MMUFlags
) -> Result<()>
fn unmap_cont(&mut self, vaddr: VirtAddr, pages: usize) -> Result<()>[src]
Implementors
impl PageTableTrait for PageTable[src]
#[export_name = "hal_pt_map"]fn map(
&mut self,
_vaddr: VirtAddr,
_paddr: PhysAddr,
_flags: MMUFlags
) -> Result<()>[src]
&mut self,
_vaddr: VirtAddr,
_paddr: PhysAddr,
_flags: MMUFlags
) -> Result<()>
Map the page of vaddr to the frame of paddr with flags.
#[export_name = "hal_pt_unmap"]fn unmap(&mut self, _vaddr: VirtAddr) -> Result<()>[src]
Unmap the page of vaddr.
#[export_name = "hal_pt_protect"]fn protect(&mut self, _vaddr: VirtAddr, _flags: MMUFlags) -> Result<()>[src]
Change the flags of the page of vaddr.
#[export_name = "hal_pt_query"]fn query(&mut self, _vaddr: VirtAddr) -> Result<PhysAddr>[src]
Query the physical address which the page of vaddr maps to.
#[export_name = "hal_pt_table_phys"]fn table_phys(&self) -> PhysAddr[src]
Get the physical address of root page table.