Expand description
This module is designed for an environment where the standard library is not available (no_std).
The alloc crate is used to enable dynamic memory allocation in the absence of the standard library.
The log crate is included for logging purposes, with macros being imported globally.
The module is structured into two main parts: config and device, which manage the configuration and handling of AxVm devices respectively.
Structs§
- Device
Build Context - VM-owned services available while a device factory is building a device.
- Device
Bundle - A set of device capabilities that must be registered atomically.
- Device
Factory Registry - A registry containing at most one factory for each emulated device type.
- Device
Runtime - Per-VM runtime that owns the static emulated-device topology.
- Device
Services - VM-local registry of typed services.
- FwCfg
- Minimal QEMU-compatible fw_cfg MMIO device.
- FwCfg
Acpi Blobs - Prebuilt platform firmware blobs exposed through fw_cfg file entries.
- FwCfg
Build Config - Runtime image payload used to build one fw_cfg device contribution.
- FwCfg
Device Factory - Builds fw_cfg as a normal capability-declaring device contribution.
- FwCfg
DmaDevice - Runtime adapter that gives fw_cfg DMA access only to the current bus access.
- FwCfg
Payload Config - VM-local factory input supplied by the boot-image loader.
- FwCfg
Payload Factory - Factory that joins boot-image payloads to the configured fw_cfg device.
- FwCfg
Platform Config - FwCfg
RamRegion - Guest
Phys Addr - Guest physical address.
- Guest
Range Allocator Key - Type key for the VM’s IVC guest-range allocator service.
- IoApic
Interrupt - A routed interrupt from the virtual IO APIC.
- Port
- The port number of an x86 I/O operation.
- Runtime
Access Ports - VM runtime capabilities injected into one sealed
DeviceRuntime. - SysReg
Addr - A system register address.
- X86Interrupt
Domain Key - Typed service key for the VM’s x86 interrupt-domain adapter.
- X86Io
Apic Device - Unified-device adapter for
EmulatedIoApic. - X86Io
Apic Service Key - Typed service key for the VM’s x86 virtual I/O APIC.
- X86Pit
Device - Unified-device adapter for
EmulatedPit. - X86Pit
Service Key - Typed service key for the VM’s x86 virtual PIT.
- X86Serial
Port Device - Unified-device adapter for
EmulatedSerialPort. - X86Serial
Service Key - Typed service key for the VM’s COM1 serial input capability.
Enums§
- Access
Width - The width of a guest bus access.
- Device
Manager Error - Errors reported while configuring, registering, or accessing VM devices.
- Device
Registration - One strongly typed capability contributed by a device.
- Service
Cardinality - Declares whether a service key may have one or several providers.
Traits§
- Device
- The unified device trait.
- Device
Factory - Builds all capabilities contributed by one emulated device type.
- Device
Lifecycle - Optional lifecycle operations contributed by a device.
- Guest
Range Allocator - Allocates guest-physical ranges from one statically reserved window.
- IrqResolver
- Resolves a VM-local interrupt line for a device under construction.
- Pollable
Device Ops - A device capability that can be polled by the VM runtime.
- Service
Key - Names and types one service made available by a device contribution.
- Stop
Access Port - Runtime backend for access-scoped VM stop requests.
- Timer
Access Port - Runtime backend for access-scoped virtual timer requests.
- Wake
Access Port - Runtime backend for access-scoped vCPU wake requests.
- X86Interrupt
Domain Ops - x86 interrupt-controller operations needed by the VM interrupt runtime.
- X86Io
Apic Device Ops - Type-specific IOAPIC capability used by the x86 interrupt runtime.
- X86Pit
Device Ops - Type-specific PIT capability used by the x86 interrupt runtime.
- X86Serial
Device Ops - Type-specific COM1 capability used by the x86 interrupt runtime.
Functions§
- register_
builtin_ factories - Registers device factories that do not depend on an architecture backend.
Type Aliases§
- Device
Manager Result - Result type returned by device manager operations.