QEMU是否模仿vfio在guest虚拟机中工作的足够功能?

问题描述 投票:2回答:1

我正在考虑使用vfio而不是uio从QEMU来宾中的用户空间代码访问PCI设备。

可以作为x86_64 QEMU来宾运行的Linux是否可以使用vfio驱动程序为访客中运行的用户空间程序提供模拟PCI设备?

我不清楚,因为vfio似乎大量使用硬件虚拟化功能(例如IOMMU),我不确定QEMU是否模仿这些功能所需的程度。

请注意,我并没有尝试将真正的PCI设备传递给QEMU guest,这是传统上使用的vfio(由QEMU本身)。相反,我正在调查vfio是否是客户环境中uio的合适替代品。

linux-device-driver qemu userspace vfio
1个回答
2
投票

问题没有提及任何关于客人内部的vfio支持的详细说明,您可能已经遇到过这些问题。也就是说,在答案中解决这个问题会很有用。

QEMU确实提供VT-d仿真(来宾vIOMMU)。但是,启用此选项需要选择Q35平台类型。例如,可以在QEMU中启用vIOMMU设备,并在启动时将以下选项传递给x86_64-softmmu / qemu-system-x86_64应用程序:

-machine q35,accel=kvm,kernel-irqchip=split -device intel-iommu,intremap=on

这将提供将guest虚拟机中的设备绑定到vfio-pci的方法。更多信息可以在QEMU wiki:Features/VT-d上找到。

如果您尝试使用这种方法并且遇到故障,那么如果您对精确的观察结果有所了解,那就太好了。

© www.soinside.com 2019 - 2024. All rights reserved.