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§
- AxVm
Device Config - The vector of DeviceConfig
- AxVm
Devices - represent A vm own devices
- 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.
- FwCfg
- Minimal QEMU-compatible fw_cfg MMIO device.
- FwCfg
Interrupt Config - FwCfg
PciConfig - FwCfg
Platform Config - FwCfg
RamRegion - FwCfg
Serial Config - Guest
Phys Addr - Guest physical address.
- IoApic
Interrupt - A routed interrupt from the virtual IO APIC.
- Mmio
Device Adapter - Wraps an old-style
BaseDeviceOps<GuestPhysAddrRange>device so that it implements the newDevicetrait. - Port
- The port number of an x86 I/O operation.
- Port
Device Adapter - Wraps an old-style
BaseDeviceOps<PortRange>device so that it implements the newDevicetrait. - SysReg
Addr - A system register address.
- SysReg
Device Adapter - Wraps an old-style
BaseDeviceOps<SysRegAddrRange>device so that it implements the newDevicetrait. - X86Io
Apic Device - Unified-device adapter for
EmulatedIoApic. - X86Pit
Device - Unified-device adapter for
EmulatedPit. - X86Serial
Port Device - Unified-device adapter for
EmulatedSerialPort.
Enums§
- Access
Width - The width of a guest bus access.
- Device
Registration - One strongly typed capability contributed by a device.
Traits§
- Base
Device Ops - The core trait that all emulated devices must implement.
- Device
- The unified device trait.
- Device
Factory - Builds all capabilities contributed by one emulated device type.
- 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.
- 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.
Trait Aliases§
- Base
Mmio Device Ops - Trait alias for MMIO (Memory-Mapped I/O) device operations.
- Base
Port Device Ops - Trait alias for port I/O device operations.
- Base
SysReg Device Ops - Trait alias for system register device operations.