This series introduces SMMU handling for PCIe passthrough on ARM. These patches are independent from (and don't depend on) the vPCI reference counting/locking work in progress, and should be able to be upstreamed independently.
v3->v4: * split a change from ("xen/arm: Move is_protected flag to struct device") into a new separate patch * see individual patches for further details v2->v3: * drop "pci/arm: Use iommu_add_dt_pci_device()" * drop "RFC: pci/arm: don't do iommu call for phantom functions" * move invocation of sideband ID mapping function to add_device() platform_ops/iommu_ops hook v1->v2: * phantom device handling * shuffle around iommu_add_dt_pci_device() Oleksandr Andrushchenko (1): xen/arm: smmuv2: Add PCI devices support for SMMUv2 Oleksandr Tyshchenko (4): xen/arm: Improve readability of check for registered devices xen/arm: Move is_protected flag to struct device iommu/arm: Add iommu_dt_xlate() iommu/arm: Introduce iommu_add_dt_pci_sideband_ids API Rahul Singh (1): xen/arm: smmuv3: Add PCI devices support for SMMUv3 Stewart Hildebrand (1): iommu/arm: iommu_add_dt_pci_sideband_ids phantom handling xen/arch/arm/domain_build.c | 4 +- xen/arch/arm/include/asm/device.h | 14 ++ xen/common/device_tree.c | 2 +- xen/drivers/passthrough/arm/ipmmu-vmsa.c | 4 +- xen/drivers/passthrough/arm/smmu-v3.c | 81 ++++++++- xen/drivers/passthrough/arm/smmu.c | 122 +++++++++++--- xen/drivers/passthrough/device_tree.c | 205 ++++++++++++++++++++--- xen/include/xen/device_tree.h | 38 +++-- xen/include/xen/iommu.h | 22 ++- 9 files changed, 423 insertions(+), 69 deletions(-) -- 2.40.1