Upgrade virtio-drivers to 0.7.4

This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update external/rust/crates/virtio-drivers
For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md

Test: TreeHugger
Change-Id: Id2d8e7c62ef9d038a9f3aeef8571f6b75789169d
11 files changed
tree: f2521eeb2a76d6cb4f8048e1d65d1c84037c73ec
  1. .github/
  2. patches/
  3. src/
  4. .cargo_vcs_info.json
  5. .gitignore
  6. Android.bp
  7. Cargo.toml
  8. Cargo.toml.orig
  9. cargo_embargo.json
  10. LICENSE
  11. METADATA
  12. MODULE_LICENSE_MIT
  13. OWNERS
  14. README.md
  15. rules.mk
  16. rust-toolchain.toml
README.md

VirtIO-drivers-rs

crates.io page docs.rs page CI

VirtIO guest drivers in Rust. For no_std environment.

Support status

Device types

DeviceSupported
Block
Net
GPU
Input
Console
Socket
...

Transports

TransportSupported
Legacy MMIOversion 1
MMIOversion 2
PCIMemory-mapped CAM only, e.g. aarch64 or PCIe ECAM

Device-independent features

Feature flagSupported
VIRTIO_F_INDIRECT_DESCIndirect descriptors
VIRTIO_F_EVENT_IDXavail_event and used_event fields
VIRTIO_F_VERSION_1TODOVirtIO version 1 compliance
VIRTIO_F_ACCESS_PLATFORMLimited device access to memory
VIRTIO_F_RING_PACKEDPacked virtqueue layout
VIRTIO_F_IN_ORDEROptimisations for in-order buffer usage
VIRTIO_F_ORDER_PLATFORMPlatform ordering for memory access
VIRTIO_F_SR_IOVSingle root I/O virtualization
VIRTIO_F_NOTIFICATION_DATAExtra data in device notifications

Examples & Tests

x86_64

cd examples/x86_64
make qemu

aarch64

cd examples/aarch64
make qemu

RISCV

cd examples/riscv
make qemu

You will see device info & GUI Window in qemu.