Hi Joerg, Please pull Eric's guest-MSI series for 4.11. This has been through considerable review and associated rework (including a session at LPC), but it has stabilised at last and we all seem to be happy with it. Eric's done a great job of respinning these and remaining patient while we pulled him in a bunch of different directions. With these patches applied, it's possible for us to pass PCI devices through to KVM guests on arm64 using VFIO and have them signal interrupts using MSIs targetting the ITS via the SMMU. Acronym soup, sure, but it's much better than legacy wired irqs! Cheers, Will --->8 The following changes since commit a121103c922847ba5010819a3f250f1f7fc84ab8: Linux 4.10-rc3 (2017-01-08 14:18:17 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git iommu/guest-msi for you to fetch changes up to 5018c8d5ef0c172592eb98cf10e253d47b544ba8: iommu/arm-smmu: Do not advertise IOMMU_CAP_INTR_REMAP anymore (2017-01-23 15:00:47 +0000) ---------------------------------------------------------------- Eric Auger (17): iommu: Rename iommu_dm_regions into iommu_resv_regions iommu: Add a new type field in iommu_resv_region iommu: iommu_alloc_resv_region iommu: Only map direct mapped regions iommu: iommu_get_group_resv_regions iommu: Implement reserved_regions iommu-group sysfs file iommu/vt-d: Implement reserved region get/put callbacks iommu/amd: Declare MSI and HT regions as reserved IOVA regions iommu/arm-smmu: Implement reserved region get/put callbacks iommu/arm-smmu-v3: Implement reserved region get/put callbacks irqdomain: Add irq domain MSI and MSI_REMAP flags genirq/msi: Set IRQ_DOMAIN_FLAG_MSI on MSI domain creation irqdomain: irq_domain_check_msi_remap irqchip/gicv3-its: Sets IRQ_DOMAIN_FLAG_MSI_REMAP vfio/type1: Allow transparent MSI IOVA allocation vfio/type1: Check MSI remapping at irq domain level iommu/arm-smmu: Do not advertise IOMMU_CAP_INTR_REMAP anymore Robin Murphy (1): iommu/dma: Allow MSI-only cookies .../ABI/testing/sysfs-kernel-iommu_groups | 12 ++ drivers/iommu/amd_iommu.c | 54 ++++--- drivers/iommu/arm-smmu-v3.c | 30 +++- drivers/iommu/arm-smmu.c | 30 +++- drivers/iommu/dma-iommu.c | 119 +++++++++++--- drivers/iommu/intel-iommu.c | 92 ++++++++--- drivers/iommu/iommu.c | 177 +++++++++++++++++++-- drivers/irqchip/irq-gic-v3-its.c | 1 + drivers/vfio/vfio_iommu_type1.c | 37 ++++- include/linux/dma-iommu.h | 6 + include/linux/iommu.h | 46 ++++-- include/linux/irqdomain.h | 36 +++++ kernel/irq/irqdomain.c | 39 +++++ kernel/irq/msi.c | 4 +- 14 files changed, 590 insertions(+), 93 deletions(-)