Hi Peter, On 1/13/20 8:53 PM, Peter Xu wrote: > On Thu, Jan 09, 2020 at 03:43:10PM +0100, Eric Auger wrote: >> Implement a callback called on PCI bus enumeration that >> initializes for a given device on the bus hierarchy >> an IOMMU memory region. The PCI bus hierarchy is stored >> locally in IOMMUPciBus and IOMMUDevice objects. >> >> At the time of the enumeration, the bus number may not be >> computed yet. >> >> So operations that will need to retrieve the IOMMUdevice >> and its IOMMU memory region from the bus number and devfn, >> once the bus number is garanteed to be frozen, >> use an array of IOMMUPciBus, lazily populated. >> >> virtio_iommu_mr() is the top helper that allows to retrieve >> the IOMMU memory region from the requester ID. >> >> Signed-off-by: Eric Auger <eric.au...@redhat.com> >> >> --- >> v11 -> v12: >> - add the iommu_find_iommu_pcibus() mechanics. Without it, >> when attaching t device to a domain we could not check >> the device is effectively protected by this IOMMU > > Sorry I probably lost the context again after read the previous > version... Could you hint me what does this used for? In v11 Jean pointed out that as_by_bus_num was not used in my series. I first planned to remove it and then noticed that it could be useful to test on "attach" whether the RID of the device effectively corresponds to a device protected by the IOMMU and in the negative, return an error.
In https://patchwork.kernel.org/patch/11258269/#23067995 This is the same mechanics used in intel_iommu/smmu. > > In all cases, I see that virtio_iommu_mr() is introduced but not used. > Would be good to put it into the patch where it's firstly used. OK fair enough, I will put the helper in the same patch as the user as you have requested that since the beginning ;-) The resulting patch may be huge. Just hope nobody will request me to split it back ;-) Thanks Eric > > Thanks, >