Struct arch::RunnableLinuxVm

source ·
pub struct RunnableLinuxVm<V: VmArch, Vcpu: VcpuArch> {
Show 22 fields pub bat_control: Option<BatControl>, pub delay_rt: bool, pub devices_thread: Option<JoinHandle<()>>, pub gdb: Option<(u32, Tube)>, pub hotplug_bus: BTreeMap<u8, Arc<Mutex<dyn HotPlugBus>>>, pub io_bus: Arc<Bus>, pub irq_chip: Box<dyn IrqChipArch>, pub mmio_bus: Arc<Bus>, pub no_smt: bool, pub pid_debug_label_map: BTreeMap<u32, String>, pub platform_devices: Vec<Arc<Mutex<dyn BusDevice>>>, pub pm: Option<Arc<Mutex<dyn PmResource + Send>>>, pub resume_notify_devices: Vec<Arc<Mutex<dyn BusResumeDevice>>>, pub root_config: Arc<Mutex<PciRoot>>, pub rt_cpus: CpuSet, pub suspend_evt: Event, pub vcpu_affinity: Option<VcpuAffinity>, pub vcpu_count: usize, pub vcpu_init: Vec<VcpuInitArch>, pub vcpus: Option<Vec<Vcpu>>, pub vm: V, pub vm_request_tube: Option<Tube>,
}
Expand description

Holds the elements needed to run a Linux VM. Created by build_vm.

Fields§

§bat_control: Option<BatControl>§delay_rt: bool§devices_thread: Option<JoinHandle<()>>§gdb: Option<(u32, Tube)>§hotplug_bus: BTreeMap<u8, Arc<Mutex<dyn HotPlugBus>>>§io_bus: Arc<Bus>§irq_chip: Box<dyn IrqChipArch>§mmio_bus: Arc<Bus>§no_smt: bool§pid_debug_label_map: BTreeMap<u32, String>§platform_devices: Vec<Arc<Mutex<dyn BusDevice>>>§pm: Option<Arc<Mutex<dyn PmResource + Send>>>§resume_notify_devices: Vec<Arc<Mutex<dyn BusResumeDevice>>>

Devices to be notified before the system resumes from the S3 suspended state.

§root_config: Arc<Mutex<PciRoot>>§rt_cpus: CpuSet§suspend_evt: Event§vcpu_affinity: Option<VcpuAffinity>§vcpu_count: usize§vcpu_init: Vec<VcpuInitArch>§vcpus: Option<Vec<Vcpu>>

If vcpus is None, then it’s the responsibility of the vcpu thread to create vcpus. If it’s Some, then build_vm already created the vcpus.

§vm: V§vm_request_tube: Option<Tube>

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.