pub struct RuntimeBackend<B>(pub B);Tuple Fields§
§0: BTrait Implementations§
Source§impl<B: Backend> Backend for RuntimeBackend<B>
impl<B: Backend> Backend for RuntimeBackend<B>
fn read_virtual_memory( &self, mmu_addr: PhysicalAddress, addr: VirtualAddress, buf: &mut [u8], ) -> TranslationResult<()>
fn read_value_virtual<T: Pod>( &self, mmu_addr: PhysicalAddress, addr: VirtualAddress, ) -> TranslationResult<T>
fn virtual_to_physical( &self, mmu_addr: PhysicalAddress, addr: VirtualAddress, ) -> TranslationResult<PhysicalAddress>
fn find_kernel_pgd( &self, use_per_cpu: bool, additional: &[VirtualAddress], ) -> VmResult<PhysicalAddress>
fn find_in_kernel_memory( &self, mmu_addr: PhysicalAddress, needle: &[u8], ) -> MemoryAccessResult<Option<VirtualAddress>>
fn iter_in_kernel_memory<'a, 'b>(
&'a self,
mmu_addr: PhysicalAddress,
needle: &'b [u8],
) -> KernelSearchIterator<'a, 'b, Self> ⓘwhere
Self: Sized,
Source§impl<B: Debug> Debug for RuntimeBackend<B>
impl<B: Debug> Debug for RuntimeBackend<B>
Source§impl<B: Backend> HasVcpus for RuntimeBackend<B>
impl<B: Backend> HasVcpus for RuntimeBackend<B>
type Arch = Architecture
fn arch(&self) -> Self::Arch
fn vcpus_count(&self) -> usize
fn registers( &self, vcpu: VcpuId, ) -> VcpuResult<<Self::Arch as Architecture>::Registers>
fn special_registers( &self, vcpu: VcpuId, ) -> VcpuResult<<Self::Arch as Architecture>::SpecialRegisters>
fn other_registers( &self, vcpu: VcpuId, ) -> VcpuResult<<Self::Arch as Architecture>::OtherRegisters>
fn instruction_pointer(&self, vcpu: VcpuId) -> VcpuResult<VirtualAddress>
fn stack_pointer(&self, vcpu: VcpuId) -> VcpuResult<VirtualAddress>
fn base_pointer(&self, vcpu: VcpuId) -> VcpuResult<Option<VirtualAddress>>
fn pgd(&self, vcpu: VcpuId) -> VcpuResult<PhysicalAddress>
fn kernel_per_cpu(&self, vcpu: VcpuId) -> VcpuResult<Option<VirtualAddress>>
fn iter_vcpus(&self) -> VcpuIterator ⓘ
Source§impl<B: Backend> Memory for RuntimeBackend<B>
impl<B: Backend> Memory for RuntimeBackend<B>
fn memory_mappings(&self) -> &[MemoryMap]
fn is_valid(&self, addr: PhysicalAddress, size: usize) -> bool
fn read_physical( &self, addr: PhysicalAddress, buf: &mut [u8], ) -> MemoryAccessResult<()>
Auto Trait Implementations§
impl<B> Freeze for RuntimeBackend<B>where
B: Freeze,
impl<B> RefUnwindSafe for RuntimeBackend<B>where
B: RefUnwindSafe,
impl<B> Send for RuntimeBackend<B>where
B: Send,
impl<B> Sync for RuntimeBackend<B>where
B: Sync,
impl<B> Unpin for RuntimeBackend<B>where
B: Unpin,
impl<B> UnwindSafe for RuntimeBackend<B>where
B: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more