Struct arch::VmComponents
source · 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: VmImage
Auto 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.