Crate arch

Source
Expand description

Virtual machine architecture support code.

Re-exports§

pub use fdt::apply_device_tree_overlays;
pub use fdt::DtbOverlay;
pub use serial::add_serial_devices;
pub use serial::get_serial_cmdline;
pub use serial::set_default_serial_parameters;
pub use serial::GetSerialCmdlineError;
pub use serial::SERIAL_ADDR;
pub use sys::linux::PlatformBusResources;

Modules§

android
fdt
pstore
serial
sys

Structs§

CpuConfigArch
Hold the CPU feature configurations that are needed to setup a vCPU.
CpuSet
Set of CPU cores.
MemoryRegionConfig
Memory region with optional size.
PciConfig
General PCI config.
Pstore
RunnableLinuxVm
Holds the elements needed to run a Linux VM. Created by build_vm.
SmbiosOptions
SMBIOS table configuration
VcpuInitArch
Initial state for x86_64 VCPUs.
VirtioDeviceStub
The device and optional jail.
VmComponents
Holds the pieces needed to build a VM. Passed to build_vm in the LinuxArch trait below to create a RunnableLinuxVm.

Enums§

DeviceRegistrationError
Errors for device manager.
FdtPosition
GdbArch
Implements Arch for 64-bit x86 + SSE Extensions.
LoadImageError
Errors for image loading.
VcpuAffinity
Mapping of guest VCPU threads to host CPU cores.
VmImage

Traits§

GdbOps
HypervisorArch
A trait for managing cpuids for an x86_64 hypervisor and for checking its capabilities.
IrqChipArch
LinuxArch
Trait which is implemented for each Linux Architecture in order to set up the memory, cpus, and system devices and to boot the kernel.
VcpuArch
A wrapper around creating and using a VCPU on x86_64.
VmArch
A wrapper for using a VM on x86_64 and getting/setting its state.

Functions§

assign_pci_addresses
Ensure all PCI devices have an assigned PCI address.
configure_pci_device
Config a PCI device for used by this vm.
generate_pci_root
Creates a root PCI device for use by this Vm.
generate_pci_topology 🔒
load_image
Load an image from a file into guest memory.
load_image_high
Load an image from a file into guest memory at the highest possible address.
parse_cpu_range 🔒