pub struct GuestConfig {Show 25 fields
pub kernel_type: Option<KernelType>,
pub kernel: Option<ClientEnd<FileMarker>>,
pub ramdisk: Option<ClientEnd<FileMarker>>,
pub dtb_overlay: Option<ClientEnd<FileMarker>>,
pub cmdline: Option<String>,
pub cmdline_add: Option<Vec<String>>,
pub cpus: Option<u8>,
pub guest_memory: Option<u64>,
pub block_devices: Option<Vec<BlockSpec>>,
pub net_devices: Option<Vec<NetSpec>>,
pub wayland_device: Option<WaylandDevice>,
pub magma_device: Option<MagmaDevice>,
pub default_net: Option<bool>,
pub virtio_balloon: Option<bool>,
pub virtio_console: Option<bool>,
pub virtio_gpu: Option<bool>,
pub virtio_rng: Option<bool>,
pub virtio_vsock: Option<bool>,
pub virtio_sound: Option<bool>,
pub virtio_sound_input: Option<bool>,
pub vsock_listeners: Option<Vec<Listener>>,
pub virtio_mem: Option<bool>,
pub virtio_mem_block_size: Option<u64>,
pub virtio_mem_region_size: Option<u64>,
pub virtio_mem_region_alignment: Option<u64>,
/* private fields */
}
Expand description
The configuration required to start up a guest. When adding a new field, consider updating fuchsia.virtualization.GuestDescriptor which is an informational snapshot of this table.
Fields§
§kernel_type: Option<KernelType>
Type of kernel to load. Cannot be changed from the command-line.
kernel: Option<ClientEnd<FileMarker>>
File to load the kernel from. Cannot be changed from the command-line.
ramdisk: Option<ClientEnd<FileMarker>>
File to load the initial RAM disk from. Cannot be changed from the command-line.
dtb_overlay: Option<ClientEnd<FileMarker>>
File to load the dtb overlay for a Linux kernel from. Cannot be changed from the command-line.
cmdline: Option<String>
Kernel command-line to use. Cannot be changed from the command-line.
cmdline_add: Option<Vec<String>>
Additional kernel command-lines to append to the main command-line.
cpus: Option<u8>
The number of CPUs to provide to a guest.
guest_memory: Option<u64>
Amount of guest memory required, in bytes. This value may be rounded up depending on the system configuration.
block_devices: Option<Vec<BlockSpec>>
A list of block devices to give a guest. Cannot be changed from the command-line.
net_devices: Option<Vec<NetSpec>>
A list of specifications for network devices.
wayland_device: Option<WaylandDevice>
Optional virtio-wl device.
magma_device: Option<MagmaDevice>
Optional virtio-magma device.
default_net: Option<bool>
Whether to add a default network device.
virtio_balloon: Option<bool>
Enable virtio-balloon.
virtio_console: Option<bool>
Enable virtio-console.
virtio_gpu: Option<bool>
Enable virtio-gpu.
virtio_rng: Option<bool>
Enable virtio-rng.
virtio_vsock: Option<bool>
Enable virtio-vsock.
virtio_sound: Option<bool>
Enable virtio-sound.
virtio_sound_input: Option<bool>
Enable input streams (capture) for virtio-sound.
vsock_listeners: Option<Vec<Listener>>
Host ports to listen for guest initiated vsock connections on. This can be used for simplicity if a Listener is known at config creation time, or if a Listener must be available at the moment of guest creation for timing reasons.
To add a Listener after a guest starts, see HostVsockEndpoint::Listen.
virtio_mem: Option<bool>
Enable virtio-mem
virtio_mem_block_size: Option<u64>
Size of the dynamically (un)pluggable memory block. Memory can be (un)plugged at this granularity. Smaller block size increases changes of successful unplug at the cost of increasing the size of tracking bitmap.
virtio_mem_region_size: Option<u64>
Size of the entire dynamically pluggable memory region
virtio_mem_region_alignment: Option<u64>
Required alignment of the dynamically pluggable memory region
Trait Implementations§
Source§impl Debug for GuestConfig
impl Debug for GuestConfig
Source§impl Decode<GuestConfig, DefaultFuchsiaResourceDialect> for GuestConfig
impl Decode<GuestConfig, DefaultFuchsiaResourceDialect> for GuestConfig
Source§impl Default for GuestConfig
impl Default for GuestConfig
Source§fn default() -> GuestConfig
fn default() -> GuestConfig
Source§impl Encode<GuestConfig, DefaultFuchsiaResourceDialect> for &mut GuestConfig
impl Encode<GuestConfig, DefaultFuchsiaResourceDialect> for &mut GuestConfig
Source§impl PartialEq for GuestConfig
impl PartialEq for GuestConfig
Source§impl ResourceTypeMarker for GuestConfig
impl ResourceTypeMarker for GuestConfig
Source§type Borrowed<'a> = &'a mut GuestConfig
type Borrowed<'a> = &'a mut GuestConfig
Encode<Self>
type cheaply obtainable from &mut Self::Owned
. There are three cases: Read moreSource§fn take_or_borrow<'a>(
value: &'a mut <Self as TypeMarker>::Owned,
) -> Self::Borrowed<'a>
fn take_or_borrow<'a>( value: &'a mut <Self as TypeMarker>::Owned, ) -> Self::Borrowed<'a>
&mut Self::Owned
to Self::Borrowed
. For
HandleBased
types this is “take” (it returns an owned handle and
replaces value
with Handle::invalid
), and for all other types it is
“borrow” (just converts from one reference to another).Source§impl TypeMarker for GuestConfig
impl TypeMarker for GuestConfig
Source§type Owned = GuestConfig
type Owned = GuestConfig
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.