On Wed, Nov 05, 2025 at 06:25:05PM +0100, Eric Auger wrote: > if the guest doorbell address is wrong because not properly translated, > vgic_msi_to_its() will fail to identify the ITS to inject the MSI in. > See kernel kvm/vgic/vgic-its.c vgic_msi_to_its and > vgic_its_inject_msi
Which has been exactly my point to Nicolin. There is no way to "properly translate" the vMSI address in a HW accelerated SMMU emulation. The vMSI address must only be used for some future non-RMR HW only path. To keep this flow working qemu must ignore the IOVA from the guest and always replace it with its own idea of what the correct ITS address is for KVM to work. It means we don't correctly emulate guest misconfiguration of the MSI address. Thus it should never be "translated" in this configuration, that's a broken idea when working with the HW accelerated vSMMU. Jason
