qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Passthrough device to QEMU without IOMMU split


From: Pandey, Prabhat Chand
Subject: Passthrough device to QEMU without IOMMU split
Date: Thu, 23 Jan 2020 04:38:57 +0000

Hello All,

 

I have 3 PCIe Endpoint devices, all are fall in the same IOMMU group.

I am using vfio-pci to passthrough PCIe devices, and QEMU version 4.2.

What I understood that if I wants to passthrough any devices, I need to bind all the devices

fall under the same IOMMU group to the vfio-pci, then only I will be able to launch QEMU.

 

I am able to passthrough all the 3 devices to the guest OS using below steps:

  1. echo 0000:00:14.1 > /sys/bus/pci/devices/0000\:00\:14.1/driver/unbind
  2. echo 0000:00:14.2 > /sys/bus/pci/devices/0000\:00\:14.2/driver/unbind
  3. echo 0000:00:14.0 > /sys/bus/pci/devices/0000\:00\:14.0/driver/unbind
  4. modprobe vfio-pci
  5. echo 8086 9d30 > /sys/bus/pci/drivers/vfio-pci/new_id
  6. echo 8086 9d31 > /sys/bus/pci/drivers/vfio-pci/new_id
  7. echo 8086 9d2f > /sys/bus/pci/drivers/vfio-pci/new_id
  8. Added devices into QEMU launch script:
  1. -device vfio-pci,host=00:14.0,id=xhci,addr=0x14.0,multifunction=on \
  2. -device vfio-pci=host=00:14.1,id=dwc3,addr=0x14.1 \
  1. Launch QEMU and it’s working fine.

 

But I just want to passthrough only 1 out of 3 devices from the same IOMMU group.

I have found 1 solution, i.e. split devices into multiple IOMMU group is solving this problem, below is the patch I used:

https://aur.archlinux.org/cgit/aur.git/tree/0001-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch?h=linux-vfio&id=7d918b60297b5126fd314bb48a793ef19f9a7e76

 

Now my question, Is there any other way to passthrough 1 devices out of 3 PCIe devices which all are there in a same IOMMU group, without splitting IOMMU group?

Like any flag in QEMU?

 

Regards,

Prabhat Pandey


reply via email to

[Prev in Thread] Current Thread [Next in Thread]