vfio-pci 设备特定驱动变体的接受标准¶
概述¶
vfio-pci 驱动作为一种与设备无关的驱动存在,它利用系统 IOMMU 并依赖于平台故障处理的鲁棒性,以向用户空间提供隔离的设备访问。虽然 vfio-pci 驱动确实包含一些设备特定支持,但为更高级的设备特定功能提供进一步扩展是不可持续的。因此,vfio-pci 驱动已将 vfio-pci-core 拆分为一个库,该库可被重用于实现需要设备特定知识的功能,例如为支持迁移而保存和加载设备状态。
为支持此类功能,预计某些设备特定变体可能会与父设备(例如支持用户分配的 VF 的 SR-IOV PF)或其他可能无法通过 vfio-pci 基本驱动访问的扩展进行交互。此类驱动的作者应谨慎,避免通过这些交互创建可利用的接口,或允许未经检查的用户空间数据在分配的设备范围之外产生影响。
因此,新提交的驱动程序应请求通过签核/确认/审查等方式,批准与父驱动程序的任何交互。此外,驱动程序应尝试提供足够的文档,以便审阅者理解设备特定扩展,例如在迁移数据的情况下,设备状态如何组成和消耗,哪些部分是用户通过 vfio-pci 无法获得的,存在哪些保障措施来验证数据等。为此,作者还应期望至少有一位列出的审阅者进行审查,除了 vfio 的总体维护者之外。