Struct arch::VmComponents

source ·
pub struct VmComponents {
Show 35 fields pub ac_adapter: bool, pub acpi_sdts: Vec<SDT>, pub android_fstab: Option<File>, pub bootorder_fw_cfg_blob: Vec<u8>, pub cpu_capacity: BTreeMap<usize, u32>, pub cpu_clusters: Vec<CpuSet>, pub cpu_frequencies: BTreeMap<usize, Vec<u32>>, pub delay_rt: bool, pub dynamic_power_coefficient: BTreeMap<usize, u32>, pub extra_kernel_params: Vec<String>, pub force_s2idle: bool, pub fw_cfg_enable: bool, pub fw_cfg_parameters: Vec<FwCfgParameters>, pub gdb: Option<(u32, Tube)>, pub host_cpu_topology: bool, pub hugepages: bool, pub hv_cfg: Config, pub initrd_image: Option<File>, pub itmt: bool, pub memory_size: u64, pub no_i8042: bool, pub no_rtc: bool, pub no_smt: bool, pub pci_low_start: Option<u64>, pub pcie_ecam: Option<AddressRange>, pub pflash_block_size: u32, pub pflash_image: Option<File>, pub pstore: Option<Pstore>, pub pvm_fw: Option<File>, pub rt_cpus: CpuSet, pub smbios: SmbiosOptions, pub swiotlb: Option<u64>, pub vcpu_affinity: Option<VcpuAffinity>, pub vcpu_count: usize, pub vm_image: VmImage,
}
Expand description

Holds the pieces needed to build a VM. Passed to build_vm in the LinuxArch trait below to create a RunnableLinuxVm.

Fields§

§ac_adapter: bool§acpi_sdts: Vec<SDT>§android_fstab: Option<File>§bootorder_fw_cfg_blob: Vec<u8>§cpu_capacity: BTreeMap<usize, u32>§cpu_clusters: Vec<CpuSet>§cpu_frequencies: BTreeMap<usize, Vec<u32>>§delay_rt: bool§dynamic_power_coefficient: BTreeMap<usize, u32>§extra_kernel_params: Vec<String>§force_s2idle: bool§fw_cfg_enable: bool§fw_cfg_parameters: Vec<FwCfgParameters>§gdb: Option<(u32, Tube)>§host_cpu_topology: bool§hugepages: bool§hv_cfg: Config§initrd_image: Option<File>§itmt: bool§memory_size: u64§no_i8042: bool§no_rtc: bool§no_smt: bool§pci_low_start: Option<u64>§pcie_ecam: Option<AddressRange>§pflash_block_size: u32§pflash_image: Option<File>§pstore: Option<Pstore>§pvm_fw: Option<File>

A file to load as pVM firmware. Must be Some iff hv_cfg.protection_type == ProtectionType::UnprotectedWithFirmware.

§rt_cpus: CpuSet§smbios: SmbiosOptions§swiotlb: Option<u64>§vcpu_affinity: Option<VcpuAffinity>§vcpu_count: usize§vm_image: VmImage

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.