Linux
為 PCIe 直通拆分 IOMMU 組
我正在嘗試使用 kvm 和 libvirt 將我的顯卡傳遞到虛擬機。當我嘗試通過卡而不將似乎在同一個 IOMMU 組中的乙太網卡綁定到 vfio-pci 驅動程序時,我收到一條錯誤消息。
我想在主機上使用那個乙太網埠,所以我想知道我是否可以拆分 IOMMU 組。這些東西的參考似乎是這篇部落格文章,它在底部附近提到
比本範例使用的新核心將拆分此 IOMMU 組,因為已添加支持以公開此晶片組的隔離功能,即使它不直接支持 PCIe ACS。
但我在核心 4.10 上,這篇博文是 2014 年的,所以我想知道這個領域是否有任何新的發展。
我的基本問題是我能否找出 IOMMU 組是可拆分的,如果可以,我該如何拆分它?
我無法找到任何拆分 IOMMU 組的本地方法:如果它是可拆分的,它將在啟動時拆分
但是,有一個更新檔覆蓋了 IOMMU 放置
該執行緒將引導您找到此更新檔,該更新檔針對預設情況下隨 ubuntu 16.10 附帶的 4.8 核心成功建構。
應用此更新檔並建構新核心後,我的 IOMMU 組被拆分,並且傳遞可以按我的意願工作。請注意,理論上可能會跨設備洩漏 DMA,但我從未聽說過這種情況,而且它對我來說完美無缺。