Use new no-std flag and reduce size of patch. Test: m pvmfw (cherry picked from https://android-review.googlesource.com/q/commit:7fd303a1fbe1f2549115749f0d2fc39b910a6be7) Merged-In: I4935696f2e2a5067d7e7811ce0764b090c17742f Change-Id: I4935696f2e2a5067d7e7811ce0764b090c17742f
VirtIO guest drivers in Rust. For no_std environment.
| Device | Supported |
|---|---|
| Block | ✅ |
| Net | ✅ |
| GPU | ✅ |
| Input | ✅ |
| Console | ✅ |
| Socket | ✅ |
| ... | ❌ |
| Transport | Supported | |
|---|---|---|
| Legacy MMIO | ✅ | version 1 |
| MMIO | ✅ | version 2 |
| PCI | ✅ | Memory-mapped CAM only, e.g. aarch64 or PCIe ECAM |
| 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 |
cd examples/aarch64 make qemu
cd examples/riscv make qemu
You will see device info & GUI Window in qemu.