我正在尝试使用 kvm 和 libvirt 将我的显卡传递到虚拟机。当我尝试通过卡而不将似乎在同一个 IOMMU 组中的以太网卡绑定到 vfio-pci 驱动程序时,我收到一条错误消息。
我想在主机上使用那个以太网端口,所以我想知道我是否可以拆分 IOMMU 组。这些东西的参考似乎是这篇博客文章,它在底部附近提到
比本示例使用的新内核将拆分此 IOMMU 组,因为已添加支持以公开此芯片组的隔离功能,即使它不直接支持 PCIe ACS。
但我在内核 4.10 上,这篇博文是 2014 年的,所以我想知道这个领域是否有任何新的发展。
我的基本问题是我能否找出 IOMMU 组是可拆分的,如果可以,我该如何拆分它?
我无法找到任何拆分 IOMMU 组的本地方法:如果它是可拆分的,它将在启动时拆分
但是,有一个补丁覆盖了 IOMMU 放置
该线程将引导您找到此补丁,该补丁针对默认情况下随 ubuntu 16.10 附带的 4.8 内核成功构建。
应用此补丁并构建新内核后,我的 IOMMU 组被拆分,并且传递可以按我的意愿工作。请注意,理论上可能会跨设备泄漏 DMA,但我从未听说过这种情况,而且它对我来说完美无缺。