Skip to main content

IPATranslation

Trait IPATranslation 

Source
pub trait IPATranslation:
    Debug
    + Send
    + Sync {
    // Required methods
    fn get_base_address(&self) -> *const c_void;
    fn ipa_to_pa(
        &mut self,
        guest: GuestPhysAddr,
        level: usize,
    ) -> Option<PhysAddr>;
    fn ipa_to_pte(
        &mut self,
        guest: GuestPhysAddr,
        level: usize,
    ) -> Option<(u64, usize)>;
    fn ipa_to_pte_set(
        &mut self,
        guest: GuestPhysAddr,
        level: usize,
        val: u64,
        invalidate: Tlbi,
    ) -> Result<(), Error>;
    fn clean(&mut self, vmid: usize);
    fn space_size(&self, level: usize) -> usize;
    fn entries(
        &self,
        guest: GuestPhysAddr,
        level: usize,
    ) -> Result<(Iter<'_, Entry>, usize), Error>;
}

Required Methods§

Source

fn get_base_address(&self) -> *const c_void

Source

fn ipa_to_pa(&mut self, guest: GuestPhysAddr, level: usize) -> Option<PhysAddr>

Source

fn ipa_to_pte( &mut self, guest: GuestPhysAddr, level: usize, ) -> Option<(u64, usize)>

Source

fn ipa_to_pte_set( &mut self, guest: GuestPhysAddr, level: usize, val: u64, invalidate: Tlbi, ) -> Result<(), Error>

Source

fn clean(&mut self, vmid: usize)

Source

fn space_size(&self, level: usize) -> usize

Source

fn entries( &self, guest: GuestPhysAddr, level: usize, ) -> Result<(Iter<'_, Entry>, usize), Error>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§