pub struct Config {Show 117 fields
pub ac97_parameters: Vec<Ac97Parameters>,
pub acpi_tables: Vec<PathBuf>,
pub android_fstab: Option<PathBuf>,
pub balloon: bool,
pub balloon_bias: i64,
pub balloon_control: Option<PathBuf>,
pub balloon_page_reporting: bool,
pub battery_config: Option<BatteryConfig>,
pub cid: Option<u64>,
pub coiommu_param: Option<CoIommuParameters>,
pub cpu_capacity: BTreeMap<usize, u32>,
pub cpu_clusters: Vec<Vec<usize>>,
pub crash_pipe_name: Option<String>,
pub crash_report_uuid: Option<String>,
pub delay_rt: bool,
pub direct_edge_irq: Vec<u32>,
pub direct_fixed_evts: Vec<ACPIPMFixedEvent>,
pub direct_gpe: Vec<u32>,
pub direct_level_irq: Vec<u32>,
pub direct_mmio: Option<DirectIoOption>,
pub direct_pmio: Option<DirectIoOption>,
pub disable_virtio_intx: bool,
pub disks: Vec<DiskOption>,
pub display_window_keyboard: bool,
pub display_window_mouse: bool,
pub dmi_path: Option<PathBuf>,
pub enable_hwp: bool,
pub enable_pnp_data: bool,
pub executable_path: Option<Executable>,
pub file_backed_mappings: Vec<FileBackedMappingParameters>,
pub force_calibrated_tsc_leaf: bool,
pub force_s2idle: bool,
pub gdb: Option<u32>,
pub gpu_parameters: Option<GpuParameters>,
pub gpu_render_server_parameters: Option<GpuRenderServerParameters>,
pub host_cpu_topology: bool,
pub host_ip: Option<Ipv4Addr>,
pub hugepages: bool,
pub hypervisor: Option<HypervisorKind>,
pub init_memory: Option<u64>,
pub initrd_path: Option<PathBuf>,
pub itmt: bool,
pub jail_config: Option<JailConfig>,
pub kvm_device_path: PathBuf,
pub lock_guest_memory: bool,
pub mac_address: Option<MacAddress>,
pub memory: Option<u64>,
pub memory_file: Option<PathBuf>,
pub mmio_address_ranges: Vec<AddressRange>,
pub net: Vec<NetParameters>,
pub net_vq_pairs: Option<u16>,
pub netmask: Option<Ipv4Addr>,
pub no_i8042: bool,
pub no_rtc: bool,
pub no_smt: bool,
pub oem_strings: Vec<String>,
pub params: Vec<String>,
pub pci_low_start: Option<u64>,
pub pcie_ecam: Option<AddressRange>,
pub pcie_rp: Vec<HostPcieRootPortParameters>,
pub per_vm_core_scheduling: bool,
pub pflash_parameters: Option<PflashParameters>,
pub plugin_gid_maps: Vec<GidMap>,
pub plugin_mounts: Vec<BindMount>,
pub plugin_root: Option<PathBuf>,
pub pmem_devices: Vec<DiskOption>,
pub privileged_vm: bool,
pub protection_type: ProtectionType,
pub pstore: Option<Pstore>,
pub pvm_fw: Option<PathBuf>,
pub rng: bool,
pub rt_cpus: Vec<usize>,
pub serial_parameters: BTreeMap<(SerialHardware, u8), SerialParameters>,
pub shared_dirs: Vec<SharedDir>,
pub socket_path: Option<PathBuf>,
pub software_tpm: bool,
pub sound: Option<PathBuf>,
pub split_irqchip: bool,
pub strict_balloon: bool,
pub stub_pci_devices: Vec<StubPciParameters>,
pub swiotlb: Option<u64>,
pub tap_fd: Vec<RawDescriptor>,
pub tap_name: Vec<String>,
pub usb: bool,
pub userspace_msr: BTreeMap<u32, MsrConfig>,
pub vcpu_affinity: Option<VcpuAffinity>,
pub vcpu_cgroup_path: Option<PathBuf>,
pub vcpu_count: Option<usize>,
pub vfio: Vec<VfioCommand>,
pub vfio_isolate_hotplug: bool,
pub vhost_net: bool,
pub vhost_net_device_path: PathBuf,
pub vhost_user_blk: Vec<VhostUserOption>,
pub vhost_user_console: Vec<VhostUserOption>,
pub vhost_user_fs: Vec<VhostUserFsOption>,
pub vhost_user_gpu: Vec<VhostUserOption>,
pub vhost_user_mac80211_hwsim: Option<VhostUserOption>,
pub vhost_user_net: Vec<VhostUserOption>,
pub vhost_user_snd: Vec<VhostUserOption>,
pub vhost_user_video_dec: Vec<VhostUserOption>,
pub vhost_user_vsock: Vec<VhostUserOption>,
pub vhost_user_wl: Option<VhostUserOption>,
pub vhost_vsock_device: Option<PathBuf>,
pub video_dec: Vec<VideoDeviceConfig>,
pub video_enc: Vec<VideoDeviceConfig>,
pub virtio_input_evdevs: Vec<PathBuf>,
pub virtio_keyboard: Vec<PathBuf>,
pub virtio_mice: Vec<PathBuf>,
pub virtio_multi_touch: Vec<TouchDeviceOption>,
pub virtio_single_touch: Vec<TouchDeviceOption>,
pub virtio_snds: Vec<SndParameters>,
pub virtio_switches: Vec<PathBuf>,
pub virtio_trackpad: Vec<TouchDeviceOption>,
pub vtpm_proxy: bool,
pub vvu_proxy: Vec<VvuOption>,
pub wayland_socket_paths: BTreeMap<String, PathBuf>,
pub x_display: Option<String>,
}
Expand description
Aggregate of all configurable options for a running VM.
Fields
ac97_parameters: Vec<Ac97Parameters>
acpi_tables: Vec<PathBuf>
android_fstab: Option<PathBuf>
balloon: bool
balloon_bias: i64
balloon_control: Option<PathBuf>
balloon_page_reporting: bool
battery_config: Option<BatteryConfig>
cid: Option<u64>
coiommu_param: Option<CoIommuParameters>
cpu_capacity: BTreeMap<usize, u32>
cpu_clusters: Vec<Vec<usize>>
crash_pipe_name: Option<String>
crash_report_uuid: Option<String>
delay_rt: bool
direct_edge_irq: Vec<u32>
direct_fixed_evts: Vec<ACPIPMFixedEvent>
direct_gpe: Vec<u32>
direct_level_irq: Vec<u32>
direct_mmio: Option<DirectIoOption>
direct_pmio: Option<DirectIoOption>
disable_virtio_intx: bool
disks: Vec<DiskOption>
display_window_keyboard: bool
display_window_mouse: bool
dmi_path: Option<PathBuf>
enable_hwp: bool
enable_pnp_data: bool
executable_path: Option<Executable>
file_backed_mappings: Vec<FileBackedMappingParameters>
force_calibrated_tsc_leaf: bool
force_s2idle: bool
gdb: Option<u32>
gpu_parameters: Option<GpuParameters>
gpu_render_server_parameters: Option<GpuRenderServerParameters>
host_cpu_topology: bool
host_ip: Option<Ipv4Addr>
hugepages: bool
hypervisor: Option<HypervisorKind>
init_memory: Option<u64>
initrd_path: Option<PathBuf>
itmt: bool
jail_config: Option<JailConfig>
kvm_device_path: PathBuf
lock_guest_memory: bool
mac_address: Option<MacAddress>
memory: Option<u64>
memory_file: Option<PathBuf>
mmio_address_ranges: Vec<AddressRange>
net: Vec<NetParameters>
net_vq_pairs: Option<u16>
netmask: Option<Ipv4Addr>
no_i8042: bool
no_rtc: bool
no_smt: bool
oem_strings: Vec<String>
params: Vec<String>
pci_low_start: Option<u64>
pcie_ecam: Option<AddressRange>
pcie_rp: Vec<HostPcieRootPortParameters>
per_vm_core_scheduling: bool
pflash_parameters: Option<PflashParameters>
plugin_gid_maps: Vec<GidMap>
plugin_mounts: Vec<BindMount>
plugin_root: Option<PathBuf>
pmem_devices: Vec<DiskOption>
privileged_vm: bool
protection_type: ProtectionType
pstore: Option<Pstore>
pvm_fw: Option<PathBuf>
Must be Some
iff protection_type == ProtectionType::UnprotectedWithFirmware
.
rng: bool
rt_cpus: Vec<usize>
serial_parameters: BTreeMap<(SerialHardware, u8), SerialParameters>
socket_path: Option<PathBuf>
software_tpm: bool
sound: Option<PathBuf>
split_irqchip: bool
strict_balloon: bool
stub_pci_devices: Vec<StubPciParameters>
swiotlb: Option<u64>
tap_fd: Vec<RawDescriptor>
tap_name: Vec<String>
usb: bool
userspace_msr: BTreeMap<u32, MsrConfig>
vcpu_affinity: Option<VcpuAffinity>
vcpu_cgroup_path: Option<PathBuf>
vcpu_count: Option<usize>
vfio: Vec<VfioCommand>
vfio_isolate_hotplug: bool
vhost_net: bool
vhost_net_device_path: PathBuf
vhost_user_blk: Vec<VhostUserOption>
vhost_user_console: Vec<VhostUserOption>
vhost_user_fs: Vec<VhostUserFsOption>
vhost_user_gpu: Vec<VhostUserOption>
vhost_user_mac80211_hwsim: Option<VhostUserOption>
vhost_user_net: Vec<VhostUserOption>
vhost_user_snd: Vec<VhostUserOption>
vhost_user_video_dec: Vec<VhostUserOption>
vhost_user_vsock: Vec<VhostUserOption>
vhost_user_wl: Option<VhostUserOption>
vhost_vsock_device: Option<PathBuf>
video_dec: Vec<VideoDeviceConfig>
video_enc: Vec<VideoDeviceConfig>
virtio_input_evdevs: Vec<PathBuf>
virtio_keyboard: Vec<PathBuf>
virtio_mice: Vec<PathBuf>
virtio_multi_touch: Vec<TouchDeviceOption>
virtio_single_touch: Vec<TouchDeviceOption>
virtio_snds: Vec<SndParameters>
virtio_switches: Vec<PathBuf>
virtio_trackpad: Vec<TouchDeviceOption>
vtpm_proxy: bool
vvu_proxy: Vec<VvuOption>
wayland_socket_paths: BTreeMap<String, PathBuf>
x_display: Option<String>
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn 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 T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
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. Read more
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. Read more