一、基础知识
1、what is vfio?
(1)Vfio
是一个可以安全的把设备
I/O、中断、
DMA
等暴露到用户空间,从而可以在用户空间完成设备驱动的框架。
(2)
虚拟机设备分配(
device assignment
)、高性能应用等都可以受益于
vfio
低开销的用户空间直接设备访问,从而获得更高的
I/O
性能。
2.iommu
实现用户空间设备驱动,最困难的在于如何将DMA以安全可控的方式暴露到用户空间: