From: Wei Xu <w...@redhat.com> Recently I have been testing passing through 2 ixgbe(82599ES) nics which belong to the same iommu group to a guest with virtual iommu(vIOMMU) on my desktop, while vfio failed to realize the second device and prompted error message as 'group xxx used in multiple address spaces'.
It turned out to be that vtd doesn't know any group info while choosing an address space for the two devices, therefore it creates two separate address space for each which breaks granularity isolation. This patch fixes this by looking up if there is any exist device within the same iommu group and shares the address space before creating a new one. I am not sure if this fixes the problem in a correct way due to my limited knowledge about vfio, please come back to me for any feedback & comments, Thanks. Wei Xu (3): vfio: reusing address space for the same iommu group devices vfio: invoke looking up address space. vfio: remove checking duplicated vfio device hw/vfio/common.c | 28 ++++++++++++++++++++++++++++ hw/vfio/pci.c | 15 ++++++--------- include/hw/vfio/vfio-common.h | 1 + 3 files changed, 35 insertions(+), 9 deletions(-) -- 1.8.3.1