Note: A few patches in this series are dependent on Baolu's IOMMU domain ops split, which is currently in the next branch of linux-iommu. This series applies on top: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git Enable interpretive execution of zPCI instructions + adapter interruption forwarding for s390x KVM vfio-pci. This is done by introducing a new IOMMU domain for s390x (KVM-managed), indicating via vfio that this IOMMU domain should be used instead of the default, with subsequent management of the hardware assists being handled via a new KVM ioctl for zPCI management. By allowing intepretation of zPCI instructions and firmware delivery of interrupts to guests, we can significantly reduce the frequency of guest SIE exits for zPCI. We then see additional gains by handling a hot-path instruction that can still intercept to the hypervisor (RPCIT) directly in kvm via the new IOMMU domain, whose map operations update the host DMA table with pinned guest entries over the specified range.