pub enum HypervisorCap {
ImmediateExit,
UserMemory,
Xcrs,
CalibratedTscLeafRequired,
StaticSwiotlbAllocationRequired,
HypervisorInitializedBootContext,
}Expand description
An enumeration of different hypervisor capabilities.
Variants§
ImmediateExit
UserMemory
Xcrs
CalibratedTscLeafRequired
CPUID leaf 0x15 is available on some Intel chips and contains the TSC frequency, which can be used to calibrate the guest’s TSC clocksource; however, it is not typically accurate enough (being off by 1-2% is a big problem for a clocksource), and inside the guest, calibration by other means is not always reliable.
Hypervisors which do not provide the TSC frequency (e.g. via the kvm pvclock) or have another suitable calibration source can declare this capability, which causes crosvm to substitute a calibrated value in leaf 0x15 that will be accurate enough for use in a clocksource.
StaticSwiotlbAllocationRequired
HypervisorInitializedBootContext
Some hypervisors (presently: Gunyah) will configure initial boot-time registers for vCPUs without need for CrosVM to specify.
If this capability is declared, then crosvm will not try to initialize vcpu registers when creating the VM.
Trait Implementations§
Source§impl Clone for HypervisorCap
impl Clone for HypervisorCap
Source§fn clone(&self) -> HypervisorCap
fn clone(&self) -> HypervisorCap
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more