pub struct RunCommand {
Show 133 fields pub ac97: Vec<Ac97Parameters>, pub acpi_table: Vec<PathBuf>, pub android_fstab: Option<PathBuf>, pub balloon_bias_mib: Option<i64>, pub balloon_control: Option<PathBuf>, pub balloon_page_reporting: bool, pub battery: Option<BatteryConfig>, pub bios: Option<PathBuf>, block: Vec<DiskOptionWithId>, pub cid: Option<u64>, pub coiommu: Option<CoIommuParameters>, pub cpu_affinity: Option<VcpuAffinity>, pub cpu_capacity: Option<BTreeMap<usize, u32>>, pub cpu_cluster: Vec<Vec<usize>>, pub cpus: Option<usize>, pub crash_pipe_name: Option<String>, pub delay_rt: bool, pub direct_edge_irq: Vec<u32>, pub direct_fixed_event: 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_sandbox: bool, pub disable_virtio_intx: bool, disk: Vec<DiskOptionWithId>, pub display_window_keyboard: bool, pub display_window_mouse: bool, pub dmi: Option<PathBuf>, pub enable_hwp: bool, pub enable_pnp_data: bool, pub evdev: Vec<PathBuf>, pub executable_path: Option<PathBuf>, pub file_backed_mapping: Vec<FileBackedMappingParameters>, pub force_calibrated_tsc_leaf: bool, pub gdb: Option<u32>, pub gpu: Vec<FixedGpuParameters>, pub gpu_display: Vec<GpuDisplayParameters>, pub gpu_render_server: Option<GpuRenderServerParameters>, pub host_cpu_topology: bool, pub host_ip: Option<Ipv4Addr>, pub hugepages: bool, pub hypervisor: Option<HypervisorKind>, pub init_mem: Option<u64>, pub initrd: Option<PathBuf>, pub itmt: bool, pub keyboard: Vec<PathBuf>, pub kvm_device: Option<PathBuf>, pub lock_guest_memory: bool, pub mac_address: Option<MacAddress>, pub mem: Option<u64>, pub mmio_address_range: Option<Vec<AddressRange>>, pub mouse: Vec<PathBuf>, pub multi_touch: Vec<TouchDeviceOption>, pub net: Vec<NetParameters>, pub net_vq_pairs: Option<u16>, pub netmask: Option<Ipv4Addr>, pub no_balloon: bool, pub no_i8042: bool, pub no_rng: bool, pub no_rtc: bool, pub no_smt: bool, pub no_usb: bool, pub oem_strings: Vec<String>, pub params: Vec<String>, pub pci_start: Option<u64>, pub pcie_ecam: Option<AddressRange>, pub pcie_root_port: Vec<HostPcieRootPortParameters>, pub per_vm_core_scheduling: bool, pub pflash: Option<PflashParameters>, pub pivot_root: Option<PathBuf>, pub plugin: Option<PathBuf>, pub plugin_gid_map: Vec<GidMap>, pub plugin_gid_map_file: Option<PathBuf>, pub plugin_mount: Vec<BindMount>, pub plugin_mount_file: Option<PathBuf>, pub plugin_root: Option<PathBuf>, pub pmem_device: Vec<DiskOption>, pub privileged_vm: bool, pub protected_vm: bool, pub protected_vm_with_firmware: Option<PathBuf>, protected_vm_without_firmware: bool, pub pstore: Option<Pstore>, root: Option<DiskOptionWithId>, pub rt_cpus: Option<Vec<usize>>, rw_pmem_device: Vec<DiskOption>, rwdisk: Vec<DiskOptionWithId>, rwroot: Option<DiskOptionWithId>, pub s2idle: bool, pub seccomp_log_failures: bool, pub seccomp_policy_dir: Option<PathBuf>, pub serial: Vec<SerialParameters>, pub shared_dir: Vec<SharedDir>, pub single_touch: Vec<TouchDeviceOption>, pub socket: Option<PathBuf>, pub software_tpm: bool, pub sound: Option<PathBuf>, pub split_irqchip: bool, pub strict_balloon: bool, pub stub_pci_device: Vec<StubPciParameters>, pub swiotlb: Option<u64>, pub switches: Vec<PathBuf>, pub syslog_tag: Option<String>, pub tap_fd: Vec<RawDescriptor>, pub tap_name: Vec<String>, pub trackpad: Vec<TouchDeviceOption>, pub unprotected_vm_with_firmware: Option<PathBuf>, pub userspace_msr: Vec<(u32, MsrConfig)>, pub vcpu_cgroup_path: Option<PathBuf>, pub vfio: Vec<VfioCommand>, pub vfio_isolate_hotplug: bool, pub vfio_platform: Vec<VfioCommand>, pub vhost_net: bool, pub vhost_net_device: Option<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_decoder: Vec<VhostUserOption>, pub vhost_user_vsock: Vec<VhostUserOption>, pub vhost_user_wl: Option<VhostUserOption>, pub vhost_vsock_device: Option<PathBuf>, pub vhost_vsock_fd: Option<RawDescriptor>, pub video_decoder: Vec<VideoDeviceConfig>, pub video_encoder: Vec<VideoDeviceConfig>, pub virtio_snd: Vec<SndParameters>, pub vtpm_proxy: bool, pub vvu_proxy: Vec<VvuOption>, pub wayland_sock: Vec<(String, PathBuf)>, pub x_display: Option<String>,
}
Expand description

Start a new crosvm instance

Fields

ac97: Vec<Ac97Parameters>

comma separated key=value pairs for setting up Ac97 devices. Can be given more than once.
Possible key values:
backend=(null, cras) - Where to route the audio
device. If not provided, backend will default to
null. null for /dev/null, cras for CRAS server.
capture - Enable audio capture
capture_effects - | separated effects to be enabled for recording. The only supported effect value now is
EchoCancellation or aec.
client_type - Set specific client type for cras backend. socket_type - Set specific socket type for cras backend.

acpi_table: Vec<PathBuf>

path to user provided ACPI table

android_fstab: Option<PathBuf>

path to Android fstab

balloon_bias_mib: Option<i64>

amount to bias balance of memory between host and guest as the balloon inflates, in mib.

balloon_control: Option<PathBuf>

path for balloon controller socket.

balloon_page_reporting: bool

enable page reporting in balloon.

battery: Option<BatteryConfig>

comma separated key=value pairs for setting up battery
device
Possible key values:
type=goldfish - type of battery emulation, defaults to
goldfish

bios: Option<PathBuf>

path to BIOS/firmware ROM

block: Vec<DiskOptionWithId>

parameters for setting up a block device.
Valid keys:
path=PATH - Path to the disk image. Can be specified
without the key as the first argument.
ro=BOOL - Whether the block should be read-only.
(default: false)
root=BOOL - Whether the block device should be mounted
as the root filesystem. This will add the required
parameters to the kernel command-line. Can only be
specified once. (default: false)
sparse=BOOL - Indicates whether the disk should support the discard operation. (default: true)
block_size=BYTES - Set the reported block size of the
disk. (default: 512)
id=STRING - Set the block device identifier to an ASCII string, up to 20 characters. (default: no ID)
o_direct=BOOL - Use O_DIRECT mode to bypass page cache. (default: false)

cid: Option<u64>

context ID for virtual sockets.

coiommu: Option<CoIommuParameters>

comma separated key=value pairs for setting up coiommu
devices.
Possible key values:
unpin_policy=lru - LRU unpin policy.
unpin_interval=NUM - Unpin interval time in seconds.
unpin_limit=NUM - Unpin limit for each unpin cycle, in
unit of page count. 0 is invalid.
unpin_gen_threshold=NUM - Number of unpin intervals a
pinned page must be busy for to be aged into the
older which is less frequently checked generation.

cpu_affinity: Option<VcpuAffinity>

comma-separated list of CPUs or CPU ranges to run VCPUs on (e.g. 0,1-3,5) or colon-separated list of assignments of guest to host CPU assignments (e.g. 0=0:1=1:2=2) (default: no mask)

cpu_capacity: Option<BTreeMap<usize, u32>>

set the relative capacity of the given CPU (default: no capacity)

cpu_cluster: Vec<Vec<usize>>

group the given CPUs into a cluster (default: no clusters)

cpus: Option<usize>

number of VCPUs. (default: 1)

crash_pipe_name: Option<String>

the crash handler ipc pipe name.

delay_rt: bool

don’t set VCPUs real-time until make-rt command is run

direct_edge_irq: Vec<u32>

enable interrupt passthrough

direct_fixed_event: Vec<ACPIPMFixedEvent>

enable ACPI fixed event interrupt and register access passthrough

direct_gpe: Vec<u32>

enable GPE interrupt and register access passthrough

direct_level_irq: Vec<u32>

enable interrupt passthrough

direct_mmio: Option<DirectIoOption>

path and ranges for direct memory mapped I/O access. RANGE may be decimal or hex (starting with 0x)

direct_pmio: Option<DirectIoOption>

path and ranges for direct port mapped I/O access. RANGE may be decimal or hex (starting with 0x)

disable_sandbox: bool

run all devices in one, non-sandboxed process

disable_virtio_intx: bool

disable INTx in virtio devices

disk: Vec<DiskOptionWithId>

path to a disk image followed by optional comma-separated
options.
Valid keys:
sparse=BOOL - Indicates whether the disk should support
the discard operation (default: true)
block_size=BYTES - Set the reported block size of the
disk (default: 512)
id=STRING - Set the block device identifier to an ASCII
string, up to 20 characters (default: no ID)
o_direct=BOOL - Use O_DIRECT mode to bypass page cache“

display_window_keyboard: bool

capture keyboard input from the display window

display_window_mouse: bool

capture keyboard input from the display window

dmi: Option<PathBuf>

directory with smbios_entry_point/DMI files

enable_hwp: bool

expose HWP feature to the guest

enable_pnp_data: bool

expose Power and Perfomance (PnP) data to guest and guest can show these PnP data

evdev: Vec<PathBuf>

path to an event device node. The device will be grabbed (unusable from the host) and made available to the guest with the same configuration it shows on the host

executable_path: Option<PathBuf>

bzImage of kernel to run

file_backed_mapping: Vec<FileBackedMappingParameters>

map the given file into guest memory at the specified
address.
Parameters (addr, size, path are required):
addr=NUM - guest physical address to map at
size=NUM - amount of memory to map
path=PATH - path to backing file/device to map
offset=NUM - offset in backing file (default 0)
rw - make the mapping writable (default readonly)
sync - open backing file with O_SYNC
align - whether to adjust addr and size to page
boundaries implicitly

force_calibrated_tsc_leaf: bool

force use of a calibrated TSC cpuid leaf (0x15) even if the hypervisor doesn’t require one.

gdb: Option<u32>

(EXPERIMENTAL) gdb on the given port

gpu: Vec<FixedGpuParameters>

(EXPERIMENTAL) Comma separated key=value pairs for setting
up a virtio-gpu device
Possible key values:
backend=(2d|virglrenderer|gfxstream) - Which backend to use for virtio-gpu (determining rendering protocol)
context-types=LIST - The list of supported context
types, separated by ‘:’ (default: no contexts enabled) width=INT - The width of the virtual display connected
to the virtio-gpu.
height=INT - The height of the virtual display
connected to the virtio-gpu.
egl[=true|=false] - If the backend should use a EGL
context for rendering.
glx[=true|=false] - If the backend should use a GLX
context for rendering.
surfaceless[=true|=false] - If the backend should use a surfaceless context for rendering.
angle[=true|=false] - If the gfxstream backend should
use ANGLE (OpenGL on Vulkan) as its native OpenGL
driver.
vulkan[=true|=false] - If the backend should support
vulkan
wsi=vk - If the gfxstream backend should use the Vulkan swapchain to draw on a window
cache-path=PATH - The path to the virtio-gpu device
shader cache.
cache-size=SIZE - The maximum size of the shader cache. pci-bar-size=SIZE - The size for the PCI BAR in bytes
(default 8gb).

gpu_display: Vec<GpuDisplayParameters>

(EXPERIMENTAL) Comma separated key=value pairs for setting
up a display on the virtio-gpu device
Possible key values:
mode=(borderless_full_screen|windowed[width,height]) -
Whether to show the window on the host in full
screen or windowed mode. If not specified, windowed
mode is used by default. “windowed” can also be
specified explicitly to use a window size different
from the default one.
hidden[=true|=false] - If the display window is
initially hidden (default: false).
refresh-rate=INT - Force a specific vsync generation
rate in hertz on the guest (default: 60)

gpu_render_server: Option<GpuRenderServerParameters>

(EXPERIMENTAL) Comma separated key=value pairs for setting
up a render server for the virtio-gpu device
Possible key values:
path=PATH - The path to the render server executable.
cache-path=PATH - The path to the render server shader
cache.
cache-size=SIZE - The maximum size of the shader cache

host_cpu_topology: bool

use mirror cpu topology of Host for Guest VM, also copy some cpu feature to Guest VM

host_ip: Option<Ipv4Addr>

IP address to assign to host tap interface

hugepages: bool

advise the kernel to use Huge Pages for guest memory mappings

hypervisor: Option<HypervisorKind>

hypervisor backend

init_mem: Option<u64>

amount of guest memory outside the balloon at boot in MiB. (default: –mem)

initrd: Option<PathBuf>

initial ramdisk to load

itmt: bool

allow to enable ITMT scheduling feature in VM. The success of enabling depends on HWP and ACPI CPPC support on hardware

keyboard: Vec<PathBuf>

path to a socket from where to read keyboard input events and write status updates to

kvm_device: Option<PathBuf>

path to the KVM device. (default /dev/kvm)

lock_guest_memory: bool

disable host swap on guest VM pages.

mac_address: Option<MacAddress>

MAC address for VM

mem: Option<u64>

amount of guest memory in MiB. (default: 256)

mmio_address_range: Option<Vec<AddressRange>>

MMIO address ranges

mouse: Vec<PathBuf>

path to a socket from where to read mouse input events and write status updates to

multi_touch: Vec<TouchDeviceOption>

path to a socket from where to read multi touch input events (such as those from a touchscreen) and write status updates to, optionally followed by width and height (defaults to 800x1280)

net: Vec<NetParameters>

comma separated key=value pairs for setting
up a vhost-user net device
Possible key values:
tap-name=STRING - name of a configured persistent TAP
interface to use for networking.
tap-fd=INT - File descriptor for configured tap device. host-ip=STRING - IP address to assign to
host tap interface.
netmask=STRING - Netmask for VM subnet.
mac=STRING - MAC address for VM.
Either one tap_name, one tap_fd or a triplet of host_ip,
netmask and mac can be specified as arguments for
one –net parameter–net parameter.

net_vq_pairs: Option<u16>

virtio net virtual queue pairs. (default: 1)

netmask: Option<Ipv4Addr>

netmask for VM subnet

no_balloon: bool

don’t use virtio-balloon device in the guest

no_i8042: bool

don’t use legacy KBD devices emulation

no_rng: bool

don’t create RNG device in the guest

no_rtc: bool

don’t use legacy RTC devices emulation

no_smt: bool

don’t use SMT in the guest

no_usb: bool

don’t use usb devices in the guest

oem_strings: Vec<String>

SMBIOS OEM string values to add to the DMI tables

params: Vec<String>

extra kernel or plugin command line arguments. Can be given more than once

pci_start: Option<u64>

the pci mmio start address below 4G

pcie_ecam: Option<AddressRange>

region for PCIe Enhanced Configuration Access Mechanism

pcie_root_port: Vec<HostPcieRootPortParameters>

path to sysfs of host pcie root port and host pcie root port hotplug gpe number

per_vm_core_scheduling: bool

enable per-VM core scheduling intead of the default one (per-vCPU core scheduing) by making all vCPU threads share same cookie for core scheduling. This option is no-op on devices that have neither MDS nor L1TF vulnerability

pflash: Option<PflashParameters>

comma-seperated key-value pair for setting up the pflash device, which provides space to store UEFI variables. block_size defaults to 4K.
[–pflash <path=PATH,[block_size=SIZE]>]

pivot_root: Option<PathBuf>

path to empty directory to use for sandbox pivot root

plugin: Option<PathBuf>

absolute path to plugin process to run under crosvm

plugin_gid_map: Vec<GidMap>

supplemental GIDs that should be mapped in plugin jail. Can be given more than once

plugin_gid_map_file: Option<PathBuf>

path to the file listing supplemental GIDs that should be mapped in plugin jail. Can be given more than once

plugin_mount: Vec<BindMount>

path to be mounted into the plugin’s root filesystem. Can be given more than once

plugin_mount_file: Option<PathBuf>

path to the file listing paths be mounted into the plugin’s root filesystem. Can be given more than once

plugin_root: Option<PathBuf>

absolute path to a directory that will become root filesystem for the plugin process.

pmem_device: Vec<DiskOption>

path to a disk image

privileged_vm: bool

grant this Guest VM certain privileges to manage Host resources, such as power management

protected_vm: bool

prevent host access to guest memory

protected_vm_with_firmware: Option<PathBuf>

(EXPERIMENTAL/FOR DEBUGGING) Use custom VM firmware to run in protected mode

protected_vm_without_firmware: bool

(EXPERIMENTAL) prevent host access to guest memory, but don’t use protected VM firmware

pstore: Option<Pstore>

path to pstore buffer backend file followed by size
[–pstore <path=PATH,size=SIZE>]

root: Option<DiskOptionWithId>

path to a disk image followed by optional comma-separated
options.
Valid keys:
sparse=BOOL - Indicates whether the disk should support the discard operation (default: true)
block_size=BYTES - Set the reported block size of the
disk (default: 512)
id=STRING - Set the block device identifier to an ASCII string, up to 20 characters (default: no ID)
o_direct=BOOL - Use O_DIRECT mode to bypass page cache

rt_cpus: Option<Vec<usize>>

comma-separated list of CPUs or CPU ranges to run VCPUs on. (e.g. 0,1-3,5) (default: none)

rw_pmem_device: Vec<DiskOption>

path to a writable disk image

rwdisk: Vec<DiskOptionWithId>

path to a read-write disk image followed by optional
comma-separated options.
Valid keys:
sparse=BOOL - Indicates whether the disk should support the discard operation (default: true)
block_size=BYTES - Set the reported block size of the
disk (default: 512)
id=STRING - Set the block device identifier to an ASCII string, up to 20 characters (default: no ID)
o_direct=BOOL - Use O_DIRECT mode to bypass page cache

rwroot: Option<DiskOptionWithId>

path to a read-write root disk image followed by optional
comma-separated options.
Valid keys:
sparse=BOOL - Indicates whether the disk should support the discard operation (default: true)
block_size=BYTES - Set the reported block size of the
disk (default: 512)
id=STRING - Set the block device identifier to an ASCII string, up to 20 characters (default: no ID)
o_direct=BOOL - Use O_DIRECT mode to bypass page cache

s2idle: bool

set Low Power S0 Idle Capable Flag for guest Fixed ACPI
Description Table, additionally use enhanced crosvm suspend and resume routines to perform full guest suspension/resumption

seccomp_log_failures: bool

instead of seccomp filter failures being fatal, they will be logged instead

seccomp_policy_dir: Option<PathBuf>

path to seccomp .policy files

serial: Vec<SerialParameters>

comma separated key=value pairs for setting up serial
devices. Can be given more than once.
Possible key values:
type=(stdout,syslog,sink,file) - Where to route the
serial device
hardware=(serial,virtio-console,debugcon) - Which type
of serial hardware to emulate. Defaults to 8250 UART (serial).
num=(1,2,3,4) - Serial Device Number. If not provided,
num will default to 1.
debugcon_port=PORT - Port for the debugcon device to
listen to. Defaults to 0x402, which is what OVMF
expects.
path=PATH - The path to the file to write to when
type=file
input=PATH - The path to the file to read from when not stdin
console - Use this serial device as the guest console.
Can only be given once. Will default to first
serial port if not provided.
earlycon - Use this serial device as the early console. Can only be given once.
stdin - Direct standard input to this serial device.
Can only be given once. Will default to first serial port if not provided.

shared_dir: Vec<SharedDir>

colon-separated options for configuring a directory to be
shared with the VM. The first field is the directory to be
shared and the second field is the tag that the VM can use
to identify the device. The remaining fields are key=value
pairs that may appear in any order.
Valid keys are:
type=(p9, fs) - Indicates whether the directory should
be shared via virtio-9p or virtio-fs (default: p9).
uidmap=UIDMAP - The uid map to use for the device’s
jail in the format “inner outer
count[,inner outer count]”
(default: 0 1).
gidmap=GIDMAP - The gid map to use for the device’s
jail in the format “inner outer
count[,inner outer count]”
(default: 0 1).
cache=(never, auto, always) - Indicates whether the VM
can cache the contents of the shared directory
(default: auto). When set to “auto” and the type
is “fs”, the VM will use close-to-open consistency
for file contents.
timeout=SECONDS - How long the VM should consider file
attributes and directory entries to be valid
(default: 5). If the VM has exclusive access to the directory, then this should be a large value. If
the directory can be modified by other processes,
then this should be 0.
writeback=BOOL - Enables writeback caching
(default: false). This is only safe to do when the
VM has exclusive access to the files in a directory. Additionally, the server should have read
permission for all files as the VM may issue read
requests even for files that are opened write-only.
dax=BOOL - Enables DAX support. Enabling DAX can
improve performance for frequently accessed files
by mapping regions of the file directly into the
VM’s memory. There is a cost of slightly increased
latency the first time the file is accessed. Since
the mapping is shared directly from the host kernel’s file cache, enabling DAX can improve performance even when the guest cache policy is “Never”. The default value for this option is “false”.
posix_acl=BOOL - Indicates whether the shared directory supports POSIX ACLs. This should only be enabled
when the underlying file system supports POSIX ACLs. The default value for this option is “true”.

single_touch: Vec<TouchDeviceOption>

path to a socket from where to read single touch input events (such as those from a touchscreen) and write status updates to, optionally followed by width and height (defaults to 800x1280)

socket: Option<PathBuf>

path to put the control socket. If PATH is a directory, a name will be generated

software_tpm: bool

enable a software emulated trusted platform module device

sound: Option<PathBuf>

path to the VioS server socket for setting up virtio-snd devices

split_irqchip: bool

(EXPERIMENTAL) enable split-irqchip support

strict_balloon: bool

don’t allow guest to use pages from the balloon

stub_pci_device: Vec<StubPciParameters>

comma-separated key=value pairs for setting up a stub PCI
device that just enumerates. The first option in the list
must specify a PCI address to claim.
Optional further parameters
vendor=NUM - PCI vendor ID
device=NUM - PCI device ID
class=NUM - PCI class (including class code, subclass,
and programming interface)
subsystem_vendor=NUM - PCI subsystem vendor ID
subsystem_device=NUM - PCI subsystem device ID
revision=NUM - revision

swiotlb: Option<u64>

(EXPERIMENTAL) Size of virtio swiotlb buffer in MiB (default: 64 if --protected-vm or --protected-vm-without-firmware is present)

switches: Vec<PathBuf>

path to a socket from where to read switch input events and write status updates to

syslog_tag: Option<String>

when logging to syslog, use the provided tag

tap_fd: Vec<RawDescriptor>

file descriptor for configured tap device. A different virtual network card will be added each time this argument is given

tap_name: Vec<String>

name of a configured persistent TAP interface to use for networking. A different virtual network card will be added each time this argument is given

trackpad: Vec<TouchDeviceOption>

path to a socket from where to read trackpad input events and write status updates to, optionally followed by screen width and height (defaults to 800x1280)

unprotected_vm_with_firmware: Option<PathBuf>

(EXPERIMENTAL/FOR DEBUGGING) Use VM firmware, but allow host access to guest memory

userspace_msr: Vec<(u32, MsrConfig)>

userspace MSR handling. Takes INDEX of the MSR and how they are handled.
type=(r|w|rw|wr) - read/write permission control.
action=(pass|emu) - if the control of msr is effective
on host.
from=(cpu0) - source of msr value. if not set, the
source is running CPU.
filter=(yes|no) - if the msr is filtered in KVM.

vcpu_cgroup_path: Option<PathBuf>

move all vCPU threads to this CGroup (default: nothing moves)

vfio: Vec<VfioCommand>

path to sysfs of PCI pass through or mdev device.
guest-address=auto|BUS:DEVICE.FUNCTION - PCI address
that the device will be assigned in the guest
(default: auto). When set to “auto”, the device will be assigned an address that mirrors its address in
the host.
iommu=on|off - indicates whether to enable virtio IOMMU for this device

vfio_isolate_hotplug: bool

isolate all hotplugged passthrough vfio device behind virtio-iommu

vfio_platform: Vec<VfioCommand>

path to sysfs of platform pass through

vhost_net: bool

use vhost for networking

vhost_net_device: Option<PathBuf>

path to the vhost-net device. (default /dev/vhost-net)

vhost_user_blk: Vec<VhostUserOption>

path to a socket for vhost-user block

vhost_user_console: Vec<VhostUserOption>

path to a socket for vhost-user console

vhost_user_fs: Vec<VhostUserFsOption>

path to a socket path for vhost-user fs, and tag for the shared dir

vhost_user_gpu: Vec<VhostUserOption>

paths to a vhost-user socket for gpu

vhost_user_mac80211_hwsim: Option<VhostUserOption>

path to a socket for vhost-user mac80211_hwsim

vhost_user_net: Vec<VhostUserOption>

path to a socket for vhost-user net

vhost_user_snd: Vec<VhostUserOption>

path to a socket for vhost-user snd

vhost_user_video_decoder: Vec<VhostUserOption>

path to a socket for vhost-user video decoder

vhost_user_vsock: Vec<VhostUserOption>

path to a socket for vhost-user vsock

vhost_user_wl: Option<VhostUserOption>

path to a vhost-user socket for wayland

vhost_vsock_device: Option<PathBuf>

path to the vhost-vsock device. (default /dev/vhost-vsock)

vhost_vsock_fd: Option<RawDescriptor>

open FD to the vhost-vsock device, mutually exclusive with vhost-vsock-device

video_decoder: Vec<VideoDeviceConfig>

(EXPERIMENTAL) enable virtio-video decoder device
Possible backend values: libvda, ffmpeg, vaapi

video_encoder: Vec<VideoDeviceConfig>

(EXPERIMENTAL) enable virtio-video encoder device
Possible backend values: libvda

virtio_snd: Vec<SndParameters>

comma separated key=value pairs for setting up virtio snd
devices.
Possible key values:
capture=(false,true) - Disable/enable audio capture.
Default is false.
backend=(null,[cras]) - Which backend to use for
virtio-snd.
client_type=(crosvm,arcvm,borealis) - Set specific
client type for cras backend. Default is crosvm.
socket_type=(legacy,unified) Set specific socket type
for cras backend. Default is unified.
num_output_devices=INT - Set number of output PCM
devices.
num_input_devices=INT - Set number of input PCM devices. num_output_streams=INT - Set number of output PCM
streams per device.
num_input_streams=INT - Set number of input PCM streams per device.

vtpm_proxy: bool

enable the virtio-tpm connection to vtpm daemon

vvu_proxy: Vec<VvuOption>

socket path for the Virtio Vhost User proxy device.
Parameters
addr=BUS:DEVICE.FUNCTION - PCI address that the proxy
device will be allocated
(default: automatically allocated)
uuid=UUID - UUID which will be stored in VVU PCI config space that is readable from guest userspace

wayland_sock: Vec<(String, PathBuf)>

path to the Wayland socket to use. The unnamed one is used for displaying virtual screens. Named ones are only for IPC

x_display: Option<String>

X11 display name to use

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

Construct the type from an input set of arguments. Read more

Get a String with just the argument names, e.g., options, flags, subcommands, etc, but without the values of the options and arguments. This can be useful as a means to capture anonymous usage statistics without revealing the content entered by the end user. Read more

Information about the subcommand.

The type returned in the event of a conversion error.

Performs the conversion.

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. Read more

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

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

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

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

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

Info for the commands.

Get a list of commands that are discovered at runtime.

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.