12 个版本 (6 个重大更改)
0.7.5 | 2024年7月30日 |
---|---|
0.7.3 | 2024年6月12日 |
0.7.1 | 2023年10月12日 |
0.6.0 | 2023年7月26日 |
0.1.0 | 2022年9月29日 |
#27 在 硬件支持
每月下载量 8,598
370KB
7.5K SLoC
VirtIO-drivers-rs
VirtIO 客户端驱动程序,适用于 无std 环境。
支持状态
设备类型
设备 | 支持 |
---|---|
块 | ✅ |
网络 | ✅ |
GPU | ✅ |
输入 | ✅ |
控制台 | ✅ |
套接字 | ✅ |
声音 | ✅ |
... | ❌ |
传输
传输 | 支持 | |
---|---|---|
传统 MMIO | ✅ | 版本 1 |
MMIO | ✅ | 版本 2 |
PCI | ✅ | 仅支持内存映射CAM,例如 aarch64 或 PCIe ECAM |
设备无关特性
功能标志 | 支持 | |
---|---|---|
VIRTIO_F_INDIRECT_DESC |
✅ | 间接描述符 |
VIRTIO_F_EVENT_IDX |
✅ | avail_event 和 used_event 字段 |
VIRTIO_F_VERSION_1 |
待办事项 | VirtIO 版本 1 兼容性 |
VIRTIO_F_ACCESS_PLATFORM |
❌ | 限制设备对内存的访问 |
VIRTIO_F_RING_PACKED |
❌ | 打包 virtqueue 布局 |
VIRTIO_F_IN_ORDER |
❌ | 顺序缓冲区使用的优化 |
VIRTIO_F_ORDER_PLATFORM |
❌ | 内存访问的平台排序 |
VIRTIO_F_SR_IOV |
❌ | 单一根 I/O 虚拟化 |
VIRTIO_F_NOTIFICATION_DATA |
❌ | 设备通知中的额外数据 |
示例 & 测试
x86_64
cd examples/x86_64
make qemu
aarch64
cd examples/aarch64
make qemu
RISCV
cd examples/riscv
make qemu
您将在 qemu 中看到设备信息和 GUI 窗口。
依赖关系
~1–1.6MB
~30K SLoC