2

SR-IOV 允许 PCIe 设备公开单个物理功能和多个虚拟功能。内核如何检测设备是否支持虚拟功能?它是 PCIe 配置寄存器的一部分吗?在内核中的哪个位置测试了设备导出了多少功能?

编辑:我正在内核源代码中寻找一行代码(或一个文件),用于检查 PCIe 设备以确定它导出了多少虚拟功能。我还会选择一个指向适当标准的链接,该标准列出了设备需要向主机发送哪些信息,以便报告它支持多个虚拟功能。

4

1 回答 1

2

支持 SR-IOV 的设备定义了 SR-IOV 能力(扩展能力 ID 10h)。

这在 PCI Express Base 规范 4.0 版的第 9 章中有规定。我不确定您是否可以在线找到免费副本;您可能需要成为 PCI-SIG 成员。

在 Linux 内核中,在 drivers/pci/iov.c 中查找 PCI_EXT_CAP_ID_SRIOV 和 PCI_SRIOV_TOTAL_VF。

于 2018-02-17T05:53:58.937 回答