On Tue, Nov 04, 2025 at 02:42:57PM +0000, Shameer Kolothum wrote: > > On Tue, Nov 04, 2025 at 03:11:55PM +0100, Eric Auger wrote: > > > > However, QEMU/KVM also calls this callback when resolving > > > > MSI doorbells: > > > > > > > > kvm_irqchip_add_msi_route() > > > > kvm_arch_fixup_msi_route() > > > > pci_device_iommu_address_space() > > > > get_address_space() > > > > > > > > VFIO device in the guest with a SMMUv3 is programmed with a gIOVA for > > > > MSI doorbell. This gIOVA can't be used to setup the MSI doorbell > > > > directly. This needs to be translated to vITS gPA. In order to do the > > > > doorbell transalation it needs IOMMU address space. > > > > Why does qemu do anything with the msi address? It is opaque and qemu > > cannot determine anything meaningful from it. I expect it to ignore it? > > I am afraid not. Guest MSI table write gets trapped and it then configures > the > doorbell( this is where this patch comes handy) and sets up the KVM > routing etc.
Sure it is trapped, but nothing should be looking at the MSI address from the guest, it is meaningless and wrong information. Just ignore it. Jason
