1 VFIO直通设备的透传
将VFIO直通设备透传到QEMU在HOST中操作,操作如下:
(1)使能对应设备的SRIOV
echo 1 > /sys/class/net/eth1/device/sriov_numvfs
(2)将与该设备匹配的驱动进行卸载
echo 0000:7d:01.3 > /sys/bus/pci/device/0000:7d:01.3/driver/unbind
(3)将vfio-pci驱动覆盖原来的驱动
echo vfio-pci > /sys/bus/pci/device/0000:7d:01.3/driver/driver_override
(4)将设备与vfio-pci驱动匹配
echo 0000:7d:01.3 > /sys/bus/pci/drivers_probe
这样网络的VF设备0000:7d:01.3就被透传到虚拟机中。
2 设备的添加
(1)在虚拟机启动命令中指定
-device pcie-root-port,port=0x8,chassis=1,id=net1,bus=pcie.0,multifunction=on,addr=0x1 \
(2)在QEMU monitor中进行添加设备
-device_add vfio-pci,host=7d:01.3,bus=net1,addr=0x1,id=mydev1
上面指令实现的设备拓扑如下图所示:
3 设备的移除
QEMU中设备的移除只在monitor中进行
device_del mydev1