Skip to contentSkip to conversation

iommu: KVM PCIe/MSI passthrough on ARM/ARM64 for 4.11

GIT PULL Will Deacon 2 participants 2 messages Jan 27, 2017 – Jan 30, 2017 1 message not in the archive KVM

lore
Share & tools
lore
#0 lore raw

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(-)

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 19 lines · Will Deacon

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

Quoted 7 lines

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

Pulled, thanks Will.