Skip to main content

Crate arcbox_virtio

Crate arcbox_virtio 

Source
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 VirtIO devices.
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
VirtIO queue (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 / VsockConnection definitions live in arcbox-virtio-vsock::manager after the per-device split.

Structs§

AvailRing
Available ring structure.
Descriptor
A single descriptor in the descriptor table.
DeviceCtx
Per-device context shared between the VMM and each VirtioDevice for accessing guest physical memory and injecting interrupts.
DeviceStatus
VirtIO device status flags.
GuestMemWriter
Raw pointer wrapper for guest physical memory access.
QueueConfig
Configuration for a single virtqueue, as set by the guest driver via MMIO transport writes.
UsedRing
Used ring structure.
VirtQueue
VirtIO queue implementation.

Enums§

VirtioDeviceId
VirtIO device type IDs.
VirtioError
Errors that can occur during VirtIO operations.

Traits§

VirtioDevice
Trait for VirtIO devices.

Type Aliases§

Result
Result type alias for VirtIO operations.