pub trait PhysMapperExt: PhysMapper {
// Provided methods
fn pml4_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageMapLevel4 { ... }
fn set_pml4(&self, page: PhysicalPage<Size4K>, pml4: PageMapLevel4) { ... }
fn zero_pml4(&self, page: PhysicalPage<Size4K>) { ... }
fn pdpt_mut(
&self,
page: PhysicalPage<Size4K>,
) -> &mut PageDirectoryPointerTable { ... }
fn set_pdpt(
&self,
page: PhysicalPage<Size4K>,
pml4: PageDirectoryPointerTable,
) { ... }
fn zero_pdpt(&self, page: PhysicalPage<Size4K>) { ... }
fn pd_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageDirectory { ... }
fn set_pd(&self, page: PhysicalPage<Size4K>, pml4: PageDirectory) { ... }
fn zero_pd(&self, page: PhysicalPage<Size4K>) { ... }
fn pt_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageTable { ... }
fn set_pt(&self, page: PhysicalPage<Size4K>, pml4: PageTable) { ... }
fn zero_pt(&self, page: PhysicalPage<Size4K>) { ... }
}Expand description
Mapper capable of temporarily viewing physical frames as typed tables.
Provided Methods§
Sourcefn pml4_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageMapLevel4
fn pml4_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageMapLevel4
Borrow the PageMapLevel4 (PML4) located in the given 4 KiB
physical frame.
§Arguments
page- Thepageparameter identifies the physical frame whose contents are interpreted as a PML4 table. The frame must contain either a valid or zero-initialized PML4.
Sourcefn set_pml4(&self, page: PhysicalPage<Size4K>, pml4: PageMapLevel4)
fn set_pml4(&self, page: PhysicalPage<Size4K>, pml4: PageMapLevel4)
Sets the provided PageMapLevel4 at the specified page.
Sourcefn zero_pml4(&self, page: PhysicalPage<Size4K>)
fn zero_pml4(&self, page: PhysicalPage<Size4K>)
Sets the provided PageMapLevel4 at the specified page.
Sourcefn pdpt_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageDirectoryPointerTable
fn pdpt_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageDirectoryPointerTable
Borrow a PageDirectoryPointerTable (PDPT) located in the given 4 KiB
physical frame.
§Arguments
page- Thepageparameter identifies the physical frame whose contents are interpreted as a PDP table. The frame must contain either a valid or zero-initialized PDPT.
Sourcefn set_pdpt(&self, page: PhysicalPage<Size4K>, pml4: PageDirectoryPointerTable)
fn set_pdpt(&self, page: PhysicalPage<Size4K>, pml4: PageDirectoryPointerTable)
Sets the provided PageDirectoryPointerTable at the specified page.
Sourcefn zero_pdpt(&self, page: PhysicalPage<Size4K>)
fn zero_pdpt(&self, page: PhysicalPage<Size4K>)
Sets the provided PageDirectoryPointerTable at the specified page.
Sourcefn pd_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageDirectory
fn pd_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageDirectory
Borrow a PageDirectory (PD) located in the given 4 KiB
physical frame.
§Arguments
page- Thepageparameter identifies the physical frame whose contents are interpreted as a PD table. The frame must contain either a valid or zero-initialized PD.
Sourcefn set_pd(&self, page: PhysicalPage<Size4K>, pml4: PageDirectory)
fn set_pd(&self, page: PhysicalPage<Size4K>, pml4: PageDirectory)
Sets the provided PageDirectory at the specified page.
Sourcefn zero_pd(&self, page: PhysicalPage<Size4K>)
fn zero_pd(&self, page: PhysicalPage<Size4K>)
Sets the provided PageDirectory at the specified page.
Sourcefn pt_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageTable
fn pt_mut(&self, page: PhysicalPage<Size4K>) -> &mut PageTable
Sourcefn set_pt(&self, page: PhysicalPage<Size4K>, pml4: PageTable)
fn set_pt(&self, page: PhysicalPage<Size4K>, pml4: PageTable)
Sets the provided PageTable at the specified page.
Sourcefn zero_pt(&self, page: PhysicalPage<Size4K>)
fn zero_pt(&self, page: PhysicalPage<Size4K>)
Sets the provided PageTable at the specified page.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.