Hi Eric, > -----Original Message----- > From: Eric Auger <[email protected]> > Sent: 05 November 2025 08:57 > To: Shameer Kolothum <[email protected]>; qemu- > [email protected]; [email protected] > Cc: [email protected]; Jason Gunthorpe <[email protected]>; Nicolin > Chen <[email protected]>; [email protected]; [email protected]; > Nathan Chen <[email protected]>; Matt Ochs <[email protected]>; > [email protected]; [email protected]; > [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > Krishnakant Jaju <[email protected]> > Subject: Re: [PATCH v5 15/32] hw/pci/pci: Introduce optional > get_msi_address_space() callback [...] > > IIUC, the prereg_listener mechanism just enables us to setup the s2 > > mappings. For MSI, In your version, I see that smmu_find_add_as() > > always returns IOMMU as. How is that supposed to work if the Guest > > has s1 bypass mode STE for the device? > in kvm_arch_fixup_msi_route(), as we have as != &address_space_memory in > my case, we proceed with the actual translation for the doorbell gIOVA > using address_space_translate(). I guess if the S1 is in bypass mode > you get the flat translation, no?
Yes, I noted that and replied as well. Again, coming back to kvm_arch_fixup_msi_route(), I see that this was introduced as part of your " ARM SMMUv3 Emulation Support" here, https://lore.kernel.org/qemu-devel/[email protected]/ The VFIO support was not there at that time. I am trying to understand why we need this MSI translation for vfio-pci in this accelerated case. My understanding was that this is to setup the KVM MSI routings via KVM_SET_GSI_ROUTING ioctl. Is that right? Thanks, Shameer
