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§
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>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".