Expand description
§arcbox-virtio-core
Foundational types and traits shared by every ArcBox VirtIO device
crate. Lives at the bottom of the dependency graph so each
per-device crate (arcbox-virtio-net, arcbox-virtio-block, …)
and the umbrella arcbox-virtio crate can pull from one place
without circular references.
Contents:
VirtioDevice: the device-implementation trait.DeviceCtx: shared guest-memory + IRQ-trigger context that each device holds at runtime.QueueConfig: per-virtqueue configuration snapshot built by the VMM from MMIO state and handed to a device for processing.VirtioDeviceId/DeviceStatus: device-type IDs and transport status flags.GuestMemWriter: GPA-keyed accessor over guest RAM.Result/VirtioError: error types shared by all devices.
Re-exports§
pub use error::Result;pub use error::VirtioError;pub use guest_mem::GuestMemWriter;pub use queue::AvailRing;pub use queue::Descriptor;pub use queue::UsedRing;pub use queue::VirtQueue;pub use split_queue::ChainIter;pub use split_queue::DescChain;pub use split_queue::SplitQueue;pub use split_queue::VirtqDesc;pub use virtio_bindings;
Modules§
- error
- Error types for
VirtIOdevices. - guest_
mem - Guest memory accessor for direct virtqueue manipulation.
- queue
VirtIOqueue (virtqueue) implementation.- split_
queue - Unified split-virtqueue over guest physical memory.
Structs§
- Device
Ctx - Per-device context shared between the VMM and each
VirtioDevicefor accessing guest physical memory and injecting interrupts. - Device
Status VirtIOdevice status flags.- Queue
Config - Configuration for a single virtqueue, as set by the guest driver via MMIO transport writes.
Enums§
- Virtio
Device Id VirtIOdevice type IDs.
Traits§
- Virtio
Device - Trait for
VirtIOdevices.