Folks, Ok, people did talk, exchanged ideas, lovely :) What happens now? Do I repost this or go back to PCI bus flags or something else? Thanks. On 14/08/17 19:45, Alexey Kardashevskiy wrote: > Folks, > > Is there anything to change besides those compiler errors and David's > comment in 5/5? Or the while patchset is too bad? Thanks. > > > > On 07/08/17 17:25, Alexey Kardashevskiy wrote: >> This is a followup for "[PATCH kernel v4 0/6] vfio-pci: Add support for mmapping MSI-X table" >> http://www.spinics.net/lists/kvm/msg152232.html >> >> This time it is using "caps" in IOMMU groups. The main question is if PCI >> bus flags or IOMMU domains are still better (and which one). > >> >> >> >> Here is some background: >> >> Current vfio-pci implementation disallows to mmap the page >> containing MSI-X table in case that users can write directly >> to MSI-X table and generate an incorrect MSIs. >> >> However, this will cause some performance issue when there >> are some critical device registers in the same page as the >> MSI-X table. We have to handle the mmio access to these >> registers in QEMU emulation rather than in guest. >> >> To solve this issue, this series allows to expose MSI-X table >> to userspace when hardware enables the capability of interrupt >> remapping which can ensure that a given PCI device can only >> shoot the MSIs assigned for it. And we introduce a new bus_flags >> PCI_BUS_FLAGS_MSI_REMAP to test this capability on PCI side >> for different archs. >> >> >> This is based on sha1 >> 26c5cebfdb6c "Merge branch 'parisc-4.13-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux" >> >> Please comment. Thanks. >> >> Changelog: >> >> v5: >> * redid the whole thing via so-called IOMMU group capabilities >> >> v4: >> * rebased on recent upstream >> * got all 6 patches from v2 (v3 was missing some) >> >> >> >> >> Alexey Kardashevskiy (5): >> iommu: Add capabilities to a group >> iommu: Set IOMMU_GROUP_CAP_ISOLATE_MSIX if MSI controller enables IRQ >> remapping >> iommu/intel/amd: Set IOMMU_GROUP_CAP_ISOLATE_MSIX if IRQ remapping is >> enabled >> powerpc/iommu: Set IOMMU_GROUP_CAP_ISOLATE_MSIX >> vfio-pci: Allow to expose MSI-X table to userspace when safe >> >> include/linux/iommu.h | 20 ++++++++++++++++++++ >> include/linux/vfio.h | 1 + >> arch/powerpc/kernel/iommu.c | 1 + >> drivers/iommu/amd_iommu.c | 3 +++ >> drivers/iommu/intel-iommu.c | 3 +++ >> drivers/iommu/iommu.c | 35 +++++++++++++++++++++++++++++++++++ >> drivers/vfio/pci/vfio_pci.c | 20 +++++++++++++++++--- >> drivers/vfio/pci/vfio_pci_rdwr.c | 5 ++++- >> drivers/vfio/vfio.c | 15 +++++++++++++++ >> 9 files changed, 99 insertions(+), 4 deletions(-) >> > > -- Alexey