pub struct VmComponents {Show 34 fields
pub ac_adapter: bool,
pub acpi_sdts: Vec<SDT>,
pub android_fstab: Option<File>,
pub boot_cpu: usize,
pub bootorder_fw_cfg_blob: Vec<u8>,
pub break_linux_pci_config_io: bool,
pub cpu_capacity: BTreeMap<usize, u32>,
pub cpu_clusters: Vec<CpuSet>,
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 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_config: PciConfig,
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>§boot_cpu: usize§bootorder_fw_cfg_blob: Vec<u8>§break_linux_pci_config_io: bool§cpu_capacity: BTreeMap<usize, u32>§cpu_clusters: Vec<CpuSet>§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>§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_config: PciConfig§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: VmImageAuto Trait Implementations§
impl Freeze for VmComponents
impl RefUnwindSafe for VmComponents
impl Send for VmComponents
impl Sync for VmComponents
impl Unpin for VmComponents
impl UnwindSafe for VmComponents
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.