没有合适的资源?快使用搜索试试~ 我知道了~
virtio-v1.0-cs04中文翻译版
5星 · 超过95%的资源 需积分: 5 81 下载量 93 浏览量
2019-02-26
17:04:23
上传
评论 7
收藏 573KB DOCX 举报
温馨提示
试读
64页
virtio_v1.0_cs04中文翻译版本,这是本人和同门一起花时间翻译的文档,希望可以帮助到有需要的人。如有翻译错误,请多批评。
资源推荐
资源详情
资源评论
目录
摘要.........................................................................................................................3
1 介绍......................................................................................................................3
1.1 规范性引用文件........................................................................................4
1.2 非规范性引用文件....................................................................................5
1.3 术语............................................................................................................5
1.4 结构规范....................................................................................................6
2 Virtio 设备的基本设施........................................................................................7
2.1 设备状态字段............................................................................................7
2.2 功能位......................................................................................................10
2.3 设备配置空间..........................................................................................12
2.4 虚拟队列..................................................................................................14
3 一般初始化和设备操作....................................................................................28
3.1 设备初始化..............................................................................................28
3.2 设备操作..................................................................................................30
3.3 设备清理..................................................................................................34
4 Virtio 传输选项..................................................................................................34
4.1 PCI 总线下的 Virtio.................................................................................35
4.2 MMIO 下的 Virtio....................................................................................59
4.3 Channel I/O 下的 Virtio...........................................................................76
1
5 设备类型............................................................................................................89
5.1 网络设备..................................................................................................90
5.2 块设备....................................................................................................118
5.3 控制台设备............................................................................................130
5.4 熵设备....................................................................................................137
5.5 传统内存气球(Memory Balloon)设备.............................................138
5.6 SCSI 主机设备.......................................................................................147
6 保留的功能位..................................................................................................165
6.1 驱动程序要求:保留功能位................................................................165
6.2 设备要求:保留功能位........................................................................165
6.3 传统接口:保留功能位........................................................................166
7 一致性..............................................................................................................166
7.1 一致性目标............................................................................................166
7.2 驱动程序的一致性................................................................................167
7.3 设备一致性............................................................................................170
7.4 传统接口:过渡设备和过渡驱动器一致性........................................172
附录 B.创建新设备类型....................................................................................174
B.1 有多少个 Virtqueues?.........................................................................174
B.2 什么是设备配置空间布局?...............................................................174
B.3 什么是设备号?...................................................................................174
B.4 有多少 MSI-X 向量? (用于 PCI)..................................................175
B.5 设备的改进...........................................................................................175
2
摘要
本文档描述了“虚拟 IO”家族的设备规范。这些设备可以在虚拟环境中找到,
而通过设计,可以使它们看起来像虚拟机中的访客的物理设备——本文档也会
将它们如此进行看待。这种相似性允许访客使用标准驱动程序和发现机制。
Virtio 及此规范的目的是——虚拟环境及访客应具有直观,高效,标准以及
可扩展的虚拟设备机制,而非精确到每个环境或者每个操作系统。
1 介绍
本文档描述了“virtio”系列设备的规格。这些设备位于虚拟环境,但从设计
上来看,它们在虚拟机中对客户机来说就像是物理设备,这份文件就是这样看
待它们的。这种相似性允许客户机使用标准驱动程序和发现机制。
Virtio 和这个规范的目的就是虚拟环境和客户机应该有一个直接、高效、标
准而且可扩展的可供虚拟设备使用的机制,而不是特定每个环境的或者每个操
作系统的机制。
直接:virtio 设备使用正常的中断总线机制和 DMA,这应该是任何设备驱
动程序作者所熟悉的。没有异乎寻常的 page-flipping 和 COW 机制:这只是一种
正常设备
1
。
1
缺少页面共享意味着设备的实现(例如,管理程序或主机)需要对访客存储器的完全访问。 与不信任方(即,客户间通信)
的通信需要复制。
3
高效:virtio 设备由于用于输入输出的描述符环组成,这些描述符环排列整
齐。以避免驱动程序和设备写入统一缓存线时产生缓存效果。
标准:virtio 除了支持连接设备的总线。在本规范中, virtio 设备通过
MIMO、通道 I/O 和 PCI 总线传输
2
实现,早期的草案已在其他总线上实现,不
包括在这里。
可扩展:virtio 设备包含在设备启动期间由客户机操作系统所承认的功能位。
它允许向前和先后兼容:设备提供所有它知道的功能,驱动程序也承认并且希
望使用那些功能。
1.1 规范性引用文件
[RFC2119]
!"
#!!$%&!$$'
&()**+**#!!$,
[S390 PoP] -*.& (/(% 0.##1'23#
&()**(00400*(0*(*-$-55$(
[S390 Common I/O] 6.*3$5 */17 17( %
0.##1'#5"
&()**(00(&0*+10*08+*//*-$95!*/:;6:;
[PCI] (4
&()**(+*(4** 1<
[PCIe] 6,((4
&()**(+*(4*(,(* 1<
[IEEE 802] 666%(.:8)/
.&
&()**+*0*+*25#*25#&666
[SAM] .&%
&()**!5+*+10*(=>?>"59(
[SCSI MMC] %
&()**!5+*+10*(=>?>@55(
2
Linux 进一步的实现将 virtio 传输代码与特定的 virtio 驱动程序分开:这些驱动程序在不同的传输过程之间共享。
4
1.2 非规范性引用文件
[Virtio PCI Draft] A 7(4
&()**-0+*B*1(*15$9(
1.3 术语
关键词“MUST”、“MUST NOT”、“REQUIRED”, “SHALL”, “SHALL NOT”,
“SHOULD”, “SHOULD NOT”, 本 文 中 的 “ RECOMMENDED”, “MAY”, and
“OPTIONAL”应按照[RCF2119]中进行说明解释。
1.3.1 传统接口:术语
对于本协议的早期草案(i.e. revisions before 1.0, see e.g. [Virtio PCI Draft])中定义
了一个相似的,但是差别在于驱动和设备的接口不同。由于这些都是广泛部署
的,所以本规范提供“OPTIONAL”功能以简化从这些早期草案中接口的转换。
具体来说,设备和驱动程序可能支持:
Legacy Interface 是由本规范的早期草案(1.0 之前)指定的接口。
Legacy Device 是在发布此规范之前实现的设备,并在主机端实现传统接口。
旧设备和旧驱动程序并不符合本规范。
为了简化这些早期草案接口的转换,设备可以实现:
过渡设备(Transitional Device)支持符合本规范的两个驱动程序并允许旧
驱动。
同样,驱动程序也可以实现:
过渡性驱动程序(Transitional Driver)支持符合本规范的两个设备和旧设
备的驱动程序。
5
剩余63页未读,继续阅读
资源评论
- qq_359676382022-06-10太有用了,感谢好心人
- cqliuqiang2021-02-19比较有用,内容挺多的
daizongjun
- 粉丝: 4
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功