Expand description
§arcbox-virtio
VirtIO device implementations for ArcBox.
This crate provides VirtIO device emulation including:
blk: Block device (virtio-blk)net: Network device (virtio-net)console: Console device (virtio-console)fs: Filesystem device (virtio-fs)vsock: Socket device (virtio-vsock)
§VirtIO Queue
All devices use the standard VirtIO queue (virtqueue) mechanism for
communication with the guest. The queue module provides the core
queue implementation.
§Architecture
┌─────────────────────────────────────────┐
│ arcbox-virtio │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐│
│ │ blk │ │ net │ │cons │ │ fs │ │vsock││
│ └──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘│
│ └───────┴───────┴───────┴───────┘ │
│ │ │
│ VirtQueue │
└─────────────────────────────────────────┘Re-exports§
pub use arcbox_virtio_core::virtio_bindings;
Modules§
- balloon
- Back-compat re-export of
arcbox-virtio-balloon. - blk
- Back-compat re-export of
arcbox-virtio-blk. - console
- Back-compat re-export of
arcbox-virtio-console. - error
- Error types for
VirtIOdevices. - fs
- Back-compat re-export of
arcbox-virtio-fs. - guest_
mem - Guest memory accessor for direct virtqueue manipulation.
- net
- Back-compat re-export of
arcbox-virtio-net. - queue
VirtIOqueue (virtqueue) implementation.- queue_
guest - VirtQueue operations over guest physical memory.
- rng
- Back-compat re-export of
arcbox-virtio-rng. - vsock
- Back-compat re-export of
arcbox-virtio-vsock. - vsock_
manager - Back-compat re-export of the vsock connection manager. The actual
RxOps/VsockConnectionManager/VsockConnectiondefinitions live inarcbox-virtio-vsock::managerafter the per-device split.
Structs§
- Avail
Ring - Available ring structure.
- Descriptor
- A single descriptor in the descriptor table.
- Device
Ctx - Per-device context shared between the VMM and each
VirtioDevicefor accessing guest physical memory and injecting interrupts. - Device
Status VirtIOdevice status flags.- Guest
MemWriter - Raw pointer wrapper for guest physical memory access.
- Queue
Config - Configuration for a single virtqueue, as set by the guest driver via MMIO transport writes.
- Used
Ring - Used ring structure.
- Virt
Queue VirtIOqueue implementation.
Enums§
- Virtio
Device Id VirtIOdevice type IDs.- Virtio
Error - Errors that can occur during
VirtIOoperations.
Traits§
- Virtio
Device - Trait for
VirtIOdevices.
Type Aliases§
- Result
- Result type alias for
VirtIOoperations.