pub enum Architecture {
X86_64(X86_64),
Aarch64(Aarch64),
}Variants§
Trait Implementations§
Source§impl Architecture for Architecture
impl Architecture for Architecture
type Endian = RuntimeEndian
type Registers = Registers
type SpecialRegisters = SpecialRegisters
type OtherRegisters = OtherRegisters
fn into_runtime(self) -> Architecture
fn endianness(&self) -> RuntimeEndian
fn virtual_to_physical<M: Memory + ?Sized>( &self, memory: &M, mmu_addr: PhysicalAddress, addr: VirtualAddress, ) -> TranslationResult<PhysicalAddress>
fn find_kernel_pgd<M: Memory + ?Sized>( &self, memory: &M, vcpus: &(impl HasVcpus<Arch = Self> + ?Sized), use_per_cpu: bool, additional: &[VirtualAddress], ) -> VmResult<Option<PhysicalAddress>>
fn find_in_kernel_memory_raw<M: Memory + ?Sized>( &self, memory: &M, mmu_addr: PhysicalAddress, base_search_addr: VirtualAddress, finder: &Finder<'_>, buf: &mut [u8], ) -> MemoryAccessResult<Option<VirtualAddress>>
fn find_in_kernel_memory<M: Memory + ?Sized>( &self, memory: &M, mmu_addr: PhysicalAddress, needle: &[u8], ) -> MemoryAccessResult<Option<VirtualAddress>>
fn kernel_base(&self) -> VirtualAddress
fn instruction_pointer<Vcpus: HasVcpus<Arch = Self> + ?Sized>( &self, vcpus: &Vcpus, vcpu: VcpuId, ) -> VcpuResult<VirtualAddress>
fn stack_pointer<Vcpus: HasVcpus<Arch = Self> + ?Sized>( &self, vcpus: &Vcpus, vcpu: VcpuId, ) -> VcpuResult<VirtualAddress>
fn base_pointer<Vcpus: HasVcpus<Arch = Self> + ?Sized>( &self, vcpus: &Vcpus, vcpu: VcpuId, ) -> VcpuResult<Option<VirtualAddress>>
fn pgd<Vcpus: HasVcpus<Arch = Self> + ?Sized>( &self, vcpus: &Vcpus, vcpu: VcpuId, ) -> VcpuResult<PhysicalAddress>
fn kernel_per_cpu<Vcpus: HasVcpus<Arch = Self> + ?Sized>( &self, vcpus: &Vcpus, vcpu: VcpuId, ) -> VcpuResult<Option<VirtualAddress>>
Source§impl Clone for Architecture
impl Clone for Architecture
Source§fn clone(&self) -> Architecture
fn clone(&self) -> Architecture
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Architecture
impl Debug for Architecture
impl Copy for Architecture
Auto Trait Implementations§
impl Freeze for Architecture
impl RefUnwindSafe for Architecture
impl Send for Architecture
impl Sync for Architecture
impl Unpin for Architecture
impl UnwindSafe for Architecture
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