Skip to main content

Crate virt

Crate virt 

Source

Re-exports§

pub use crate::x86::X86InitialRegs as InitialRegs;
pub use crate::x86::X86PartitionCapabilities as PartitionCapabilities;
pub use crate::x86::X86PartitionCapabilitiesError as PartitionCapabilitiesError;
pub use crate::x86::vm;
pub use crate::x86::vp;

Modules§

aarch64
io
irqcon
Types related to supporting an interrupt controller.
irqfd
Traits for irqfd-based interrupt delivery.
state
Infrastructure to define VM state.
synic
[SynicPortAccess] implementation for backends that intercept HvPostMessage / HvSignalEvent hypercalls in user mode.
x86
x86-specific state.

Structs§

CpuidLeaf
A CPUID result.
CpuidLeafSet
A collection of CPUID results.
HvConfig
Hypervisor configuration.
InitialPageImport
Initial page import metadata for isolated partitions.
LateMapVtl0MemoryConfig
Config used to determine late mapping VTL0 memory.
NeedsYield
An object that can be polled to see if a yield has been requested.
PartitionConfig
Partition creation configuration.
PlatformInfo
Platform capabilities detected from the hypervisor before partition creation. On x86 there are currently no pre-partition queries.
ProtoPartitionConfig
Prototype partition creation configuration.
SnpConfig
Backend-neutral SNP launch configuration extracted from an IGVM file.
SnpIdBlock
SNP ID block and authentication data supplied by an IGVM file.
SnpVpContext
An opaque SNP virtual processor context.
StopVp
Object to check for VP stop requests.
StopVpSource
A source for StopVp.
UnexpectedIsolationType
An unexpected isolation type was provided.
VpIndex
The virtual processor index.
VpInfo
Per-processor topology information.
VpStopped
An error result that the VP stopped due to request.
Vtl2Config
VTL2 configuration.

Enums§

InitialPageImportType
Initial page import type for isolated partitions.
IsolationType
Isolation type for a partition.
LateMapVtl0AllowedRanges
Which ranges VTL2 is allowed to access before VTL0 ram is mapped.
LateMapVtl0MemoryPolicy
Policy for the partition when mapping VTL0 memory late.
PageVisibility
Page visibility types for isolated partitions.
ProtoPartitionIsolation
Isolation configuration needed before a backend creates a partition.
UnimplementedDevice
VpHaltReason
The reason that Processor::run_vp returned.

Traits§

Aarch64Partition
ARM64-specific partition methods.
AcceptInitialPages
Extension trait for accepting initial pages.
BindProcessor
Trait used to bind a processor to the current thread.
DeviceBuilder
EmulatorMonitorSupport
MNF support routines for the emulator
Hv1
Hypervisor
A hypervisor backend capable of creating partitions.
Partition
Methods for manipulating a VM partition.
PartitionAccessState
Provides access to partition state for save, restore, and reset.
PartitionMemoryMap
Trait for mapping process memory into a partition.
PartitionMemoryMapper
Processor
ProtoPartition
Trait for a prototype partition, one that is partially created but still needs final configuration.
ResetPartition
Extension trait for resetting the partition.
ResolveMemoryFault
Prepares guest-memory backing to resolve a memory-access fault, and reports the GPA range the partition should map in response.
ScrubVtl
Extension trait for scrubbing higher VTL state while leaving lower VTLs untouched.
VtlMemoryProtection
Change memory protections for lower VTLs. This can be used to share memory with a lower VTL or make memory accesses trigger an intercept. This is intended for dynamic state as initial memory protections are applied at VM start.
X86Partition
X86-specific partition methods.