From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752252AbdHGHdf (ORCPT ); Mon, 7 Aug 2017 03:33:35 -0400 Received: from ozlabs.ru ([107.173.13.209]:50894 "EHLO ozlabs.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752060AbdHGHda (ORCPT ); Mon, 7 Aug 2017 03:33:30 -0400 From: Alexey Kardashevskiy To: linuxppc-dev@lists.ozlabs.org Cc: Alexey Kardashevskiy , David Gibson , kvm-ppc@vger.kernel.org, kvm@vger.kernel.org, Yongji Xie , Eric Auger , Kyle Mahlkuch , Alex Williamson , Jike Song , Bjorn Helgaas , Robin Murphy , Joerg Roedel , Arvind Yadav , Benjamin Herrenschmidt , David Woodhouse , Kirti Wankhede , Mauricio Faria de Oliveira , Neo Jia , Paul Mackerras , Vlad Tsyrklevich , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH v5 0/5] vfio-pci: Add support for mmapping MSI-X table Date: Mon, 7 Aug 2017 17:25:43 +1000 Message-Id: <20170807072548.3023-1-aik@ozlabs.ru> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(-) -- 2.11.0