VFIO-平台设备直通:内核与QEMU集成指南及未来展望

KVM Forum

总结:
  • VFIO-平台驱动程序和QEMU集成于2015年引入,旨在实现DMA兼容平台设备的直通。然而,自2017年以来,上游设备集成方面的贡献严重不足,导致维护困难和旧测试系统报废。
  • 本次演讲旨在重新强调VFIO-平台的存在及其预期用途(用户空间驱动和客户机分配),并解释如何支持新设备。
  • 设备重置至关重要,因为它可以防止虚拟机崩溃后数据泄露。内核重置模块是其核心,对于处理动态资源(如时钟和重置)的新回调已被提议。
  • QEMU集成通过设备树节点生成将平台设备暴露给客户机。演讲展示了Calxeda、AMD和NVIDIA设备的集成示例,NVIDIA Tegra234 mgbe尤其复杂,需要生成额外的控制器节点。
  • 集成挑战包括缺乏DMA控制器、非标准化的设备重置机制、共享资源以及需要设备架构师和原生驱动维护者的深入知识。
  • 未来展望讨论了VFIO-平台的市场前景,强调了上游贡献(尤其是重置驱动)的必要性,以避免驱动程序弃用。虚拟函数被认为是简化未来集成的关键。
    VFIO-平台在客户机视图中的Tegra234设备树复杂性
    VFIO-平台在客户机视图中的Tegra234设备树复杂性 [ 00:23:04 ]

VFIO-平台历史与现状 [00:00:47]

VFIO-平台驱动程序和QEMU集成在2015年被引入,但自2017年以来,设备集成方面的上游贡献显著减少。

目标 [00:03:44]

VFIO-平台用途 [00:04:57]

如何支持新设备?设备重置 [00:07:26]

目前,内核和QEMU层面仅官方支持3个设备,且都相对陈旧。与VFIO PCI不同,VFIO-平台需要针对新设备进行内核和VMM层面的适配。

向客户机暴露设备:QEMU集成 [00:14:38]

如果目标是将设备暴露给客户机,除了内核层面的适配,还需要在VMM(QEMU)层面进行适配。

结论 [00:23:24]

讨论 [00:25:49]