virtio1.2
新版本的virtio1.2规范已经发布了,在1.1版本发布后的三年里,已经积累了相当多的变化。下面列出其中的一些关键部分;关于细节,可以查看具体规范。
virtio1.2 中的新设备类型
增加了几种新的设备类型:
- virtio-pmem:持久内存设备;有助于避免来guest中的单独页面缓存
- virtio-fs:一个新的文件系统;一种从未正式标准化的 virtio-9p 文件系统的继承者
- virtio-rpmb:防篡改和防重放存储设备
- virtio-iommu:既可以作为物理 IOMMU 的代理,也可以充当虚拟 IOMMU
- virtio-snd:支持输入和输出 PCM 流的声卡
- virtio-mem:在guest物理地址空间中提供一个内存区域;对实现内存热插拔很有用
- virtio-i2c:一个虚拟 I2C 适配器
- virtio-scmi:实现 Arm 系统控制和管理接口,可用于传感器等外围设备
- virtio-gpio:一个虚拟 GPIO 设备
现有设备类型的新功能
一些已经存在的设备类型被添加了增强功能:
- virtio-blk:
- virtio-net:
- 支持guest提供准确的头文件长度
- 接收侧的缩放
- 每个包的hash报告
- 每个virtqueue驱动程序的通知
- UDP分段卸载
- virtio-gpu:
- virtio-balloon:
- virtio-vsock:
不针对某一设备类型的功能
一些一般性的增强功能包括:
- 支持特定厂商的PCI特殊功能
- 支持设备之间的资源共享
- 支持重新初始化单个virtqueue
参考:
https://docs.oasis-open.org/virtio/virtio/v1.2/cs01/virtio-v1.2-cs01.pdf