Trait VirtualMemoryBackend
Source pub trait VirtualMemoryBackend: Send + Sync {
// Required methods
fn read_virtual_bytes(
&self,
cr3: u64,
vaddr: u64,
buffer: &mut [u8],
) -> Result<usize, MemoryError>;
fn write_virtual_bytes(
&self,
cr3: u64,
vaddr: u64,
buffer: &[u8],
) -> Result<usize, MemoryError>;
fn read_virtual_u64(&self, cr3: u64, vaddr: u64) -> Result<u64, MemoryError>;
fn write_virtual_u64(
&self,
cr3: u64,
vaddr: u64,
val: u64,
) -> Result<(), MemoryError>;
fn read_phys_u64(&self, paddr: u64) -> Result<u64, MemoryError>;
fn write_phys_u64(&self, paddr: u64, val: u64) -> Result<(), MemoryError>;
fn resolve_vaddr(
&self,
cr3: u64,
vaddr: u64,
) -> Result<GuestAddress, MemoryError>;
}