SR-IOV允许PCIe设备公开单个物理功能和多个虚拟功能。内核如何检测设备是否支持虚拟函数?它是PCIe配置寄存器的一部分吗?设备在内核中的什么地方测试它们导出了多少函数?
编辑:我正在寻找内核源代码中的一行代码(或文件),它检查PCIe设备,以确定它导出了多少虚拟函数。我也满足于链接到适当的标准,它列出了设备需要发送给主机的信息,以便报告它支持多个虚拟功能。
发布于 2018-02-17 13:53:59
具有SR-IOV能力的设备定义SR-IOV能力(扩展能力ID 10h)。
这在PCI Express基础规范修订版4.0的第9章中进行了规定。我不确定您是否可以在网上找到免费副本;您可能需要成为PCI-SIG成员。
在Linux内核中,在drivers/pci/iov.c中查找PCI_EXT_CAP_ID_SRIOV和PCI_SRIOV_TOTAL_VF。
https://stackoverflow.com/questions/48831944
复制相似问题