summaryrefslogtreecommitdiff
path: root/components/drivers/virtio/README_zh.md
diff options
context:
space:
mode:
Diffstat (limited to 'components/drivers/virtio/README_zh.md')
-rw-r--r--components/drivers/virtio/README_zh.md101
1 files changed, 101 insertions, 0 deletions
diff --git a/components/drivers/virtio/README_zh.md b/components/drivers/virtio/README_zh.md
new file mode 100644
index 0000000000..d8ad9a2b63
--- /dev/null
+++ b/components/drivers/virtio/README_zh.md
@@ -0,0 +1,101 @@
+# RT-Thread VirtIO 驱动
+
+[English](README.md) | 中文
+
+## 概述
+
+VirtIO 驱动为 RT-Thread 提供虚拟 I/O 设备支持,主要用于 QEMU 等虚拟化环境。
+
+## 支持的版本
+
+驱动现已支持传统版和现代版 VirtIO 规范:
+
+- **传统版 VirtIO (v0.95)**:版本字段为 0x1,兼容较旧的 QEMU 版本
+- **现代版 VirtIO (v1.0+)**:版本字段为 0x2,支持 VirtIO 1.0、1.1 和 1.2 规范
+
+## 支持的设备
+
+- **VirtIO 块设备 (virtio-blk)**:虚拟块设备
+- **VirtIO 网络设备 (virtio-net)**:虚拟网络接口
+- **VirtIO 控制台 (virtio-console)**:虚拟串口控制台
+- **VirtIO GPU (virtio-gpu)**:虚拟图形设备
+- **VirtIO 输入设备 (virtio-input)**:虚拟输入设备(键盘、鼠标、触摸板)
+
+## 配置
+
+使用 `menuconfig` 配置 VirtIO 支持:
+
+```
+RT-Thread Components → Device Drivers → Using VirtIO device drivers
+```
+
+### 版本选择
+
+在传统版和现代版 VirtIO 之间选择:
+
+```
+RT-Thread Components → Device Drivers → Using VirtIO device drivers → VirtIO Version
+```
+
+选项:
+- **VirtIO Legacy (v0.95)**:与较旧的 QEMU 版本兼容(默认)
+- **VirtIO Modern (v1.0+)**:用于较新的 QEMU 版本(2.4+),具有增强功能
+
+### 设备选择
+
+启用各个 VirtIO 设备:
+
+- `RT_USING_VIRTIO_BLK`:VirtIO 块设备支持
+- `RT_USING_VIRTIO_NET`:VirtIO 网络设备支持
+- `RT_USING_VIRTIO_CONSOLE`:VirtIO 控制台支持
+- `RT_USING_VIRTIO_GPU`:VirtIO GPU 支持
+- `RT_USING_VIRTIO_INPUT`:VirtIO 输入设备支持
+
+## 主要区别
+
+### 传统版 VirtIO (v0.95)
+- 32 位特性协商
+- 单一队列描述符区域
+- 简单状态标志
+- 客户机页面大小配置
+
+### 现代版 VirtIO (v1.0+)
+- 64 位特性协商(支持更多特性)
+- 独立的描述符/驱动/设备队列区域
+- 增强的状态流程,带 FEATURES_OK 检查
+- 更好的内存对齐和原子性保证
+
+## 迁移指南
+
+### 从传统版迁移到现代版
+
+1. 更新 QEMU 命令行以使用现代版 VirtIO 设备(最新的 QEMU 版本默认使用现代版)
+2. 在 menuconfig 中更改 VirtIO 版本:
+ ```
+ RT-Thread Components → Device Drivers → Using VirtIO device drivers → VirtIO Version
+ → 选择 "VirtIO Modern (v1.0+)"
+ ```
+3. 重新构建应用程序
+4. 驱动将自动与设备协商 VERSION_1 特性
+
+### 向后兼容性
+
+驱动从 MMIO 配置中自动检测设备版本,并相应调整其行为。传统版(版本 0x1)和现代版(版本 0x2)设备在同一构建中都受支持。
+
+## BSP 支持
+
+以下 BSP 已更新以支持传统版和现代版 VirtIO:
+
+- `qemu-virt64-riscv`:QEMU RISC-V 64 位
+- `qemu-virt64-aarch64`:QEMU ARM64 (AArch64)
+
+## 规范参考
+
+- [VirtIO 规范 v1.2](https://docs.oasis-open.org/virtio/virtio/v1.2/virtio-v1.2.html)(最新,2022)
+- [VirtIO 规范 v1.1](https://docs.oasis-open.org/virtio/virtio/v1.1/virtio-v1.1.html)(2019)
+- [VirtIO 规范 v1.0](https://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.html)(2016)
+- [OASIS VirtIO 技术委员会](https://www.oasis-open.org/committees/virtio/)
+
+## 许可证
+
+Apache-2.0