发布于 2018-06-19 04:33:36
PCI-存根是一个虚拟的驱动程序。它最初的开发是因为最初的KVM设备分配并没有作为主机驱动程序绑定到指定的设备,它只是抓取设备并开始使用它。由于KVM不是适当的设备驱动程序,当KVM将其分配给用户时,另一个主机驱动程序可以尝试绑定到该设备。引入pci-存根驱动程序来占用设备的驱动槽,而KVM则利用它。
与pci存根不同,vfio是用户空间驱动程序的完整接口。它提供了对设备的安全、隔离和IOMMU保护访问。
vfio的优势:
发布于 2020-03-29 08:05:36
正如Ehtesham所回答的,pci-stub是一个虚拟驱动程序,可以防止诸如nouvaeu、nvidia、radeon、amdgpu等设备驱动程序加载,这样您的设备的BIOS就不会被驱动程序初始化,并且可以传递到KVM。
我想补充一下,这里有一个配置选项,您可以在其中放置一个conf文件,其中可以列出vfio之后要加载的其他模块,确保vfio在设备驱动程序之前加载。
例如,在Ubuntu18.04中,使用以下内容在/etc/modprobe.d/中创建vfio-pci.conf:
#options vfio-pci ids=vendid:devid,vendid:devid2,...
softdep radeon pre: vfio-pci
softdep amdgpu pre: vfio-pci
softdep snd_hda_intel pre: vfio-pci
#softdep nouveau pre: vfio-pci
#softdep drm pre: vfio-pci
#softdep nvidia pre: vfio-pci
#softdep xhci_hdc pre: vfio-pci如果将vfio id列表添加到grub中,则不需要第一行。
https://unix.stackexchange.com/questions/328422
复制相似问题