As of today when a guest is assigned with a host PCI device and an SMMUv3, VFIO calls memory_region_iommu_replay() default implementation. This translates the whole address range and completely stalls the execution. As VFIO/SMMUv3 integration is not supported yet (it requires SMMUv3 HW nested paging), let's recognize this situation and simply assert.
Also the series silences some spurious translation configuration decoding errors (STE out of span or invalid STE) that may happen on guest IOVA invalidation notifications. Best Regards Eric Eric Auger (5): memory: Remove unused memory_region_iommu_replay_all() memory: Add IOMMU_ATTR_VFIO_NESTED IOMMU memory region attribute hw/vfio/common: Assert in case of nested mode hw/arm/smmuv3: Log a guest error when decoding an invalid STE hw/arm/smmuv3: Remove spurious error messages on IOVA invalidations hw/arm/smmuv3-internal.h | 1 + hw/arm/smmuv3.c | 26 ++++++++++++++++++++------ hw/vfio/common.c | 8 ++++++++ include/exec/memory.h | 13 ++----------- memory.c | 9 --------- 5 files changed, 31 insertions(+), 26 deletions(-) -- 2.20.1