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. I have cherry-picked them from various downstream branches, rebased, and made minor changes since the cherry-pick. Details are in the individual patches. The changes are designated with "downstream->v1" even though this is the first time the patches appear on the list.
Oleksandr Andrushchenko (1): xen/arm: smmuv2: Add PCI devices support for SMMUv2 Oleksandr Tyshchenko (4): xen/arm: Move is_protected flag to struct device iommu/arm: Add iommu_dt_xlate() iommu/arm: Introduce iommu_add_dt_pci_device API pci/arm: Use iommu_add_dt_pci_device() instead of arch hook Rahul Singh (1): xen/arm: smmuv3: Add PCI devices support for SMMUv3 xen/arch/arm/domain_build.c | 4 +- xen/arch/arm/include/asm/device.h | 13 ++ xen/common/device_tree.c | 2 +- xen/drivers/passthrough/arm/ipmmu-vmsa.c | 8 +- xen/drivers/passthrough/arm/smmu-v3.c | 73 +++++++- xen/drivers/passthrough/arm/smmu.c | 109 +++++++++--- xen/drivers/passthrough/device_tree.c | 202 ++++++++++++++++++++--- xen/drivers/passthrough/pci.c | 19 ++- xen/include/xen/device_tree.h | 38 +++-- xen/include/xen/iommu.h | 6 +- 10 files changed, 395 insertions(+), 79 deletions(-) -- 2.40.1