VirtIO guest drivers in Rust. For no_std environment. fork from rcore-os

Andrew Walbran dcf62d021e Add aarch64 example. %!s(int64=2) %!d(string=hai) anos
.github 4ee80e50ba Add tests for VirtQueue (#12) %!s(int64=2) %!d(string=hai) anos
examples dcf62d021e Add aarch64 example. %!s(int64=2) %!d(string=hai) anos
src e28a1e05c8 Fix soundness issues with MMIO and shared memory (#18) %!s(int64=2) %!d(string=hai) anos
.gitignore 79ac8bf5fd Ignore all target directories in one .gitignore. %!s(int64=2) %!d(string=hai) anos
Cargo.toml ecfa981196 Add metadata for crates.io release. (#20) %!s(int64=2) %!d(string=hai) anos
LICENSE 6c88bcf3ed add simple README and LICENSE %!s(int64=5) %!d(string=hai) anos
README.md adf5e8b650 Document supported transports and features. (#15) %!s(int64=2) %!d(string=hai) anos

README.md

VirtIO-drivers-rs

CI

VirtIO guest drivers in Rust. For no_std environment.

Support status

Device types

Device Supported
Block
Net
GPU
Input
Console
...

Transports

Transport Supported
Legacy MMIO version 1
MMIO version 2
PCI

Device-independent features

Feature flag Supported
VIRTIO_F_INDIRECT_DESC Indirect descriptors
VIRTIO_F_EVENT_IDX avail_event and used_event fields
VIRTIO_F_VERSION_1 TODO VirtIO version 1 compliance
VIRTIO_F_ACCESS_PLATFORM Limited device access to memory
VIRTIO_F_RING_PACKED Packed virtqueue layout
VIRTIO_F_IN_ORDER Optimisations for in-order buffer usage
VIRTIO_F_ORDER_PLATFORM Platform ordering for memory access
VIRTIO_F_SR_IOV Single root I/O virtualization
VIRTIO_F_NOTIFICATION_DATA Extra data in device notifications

Examples & Tests