On Tue, Mar 06, 2018 at 06:47:27PM +0800, Peter Xu wrote: > On Tue, Mar 06, 2018 at 11:19:13AM +0100, Paolo Bonzini wrote: > > On 05/03/2018 11:43, Peter Xu wrote: > > > On Mon, Mar 05, 2018 at 04:43:09PM +0800, Liu, Yi L wrote: > > >> On Fri, Mar 02, 2018 at 05:06:56PM +0100, Paolo Bonzini wrote: > > >>> On 01/03/2018 11:33, Liu, Yi L wrote: > > >>>> + pci_device_notify_iommu(pdev, PCI_NTY_DEV_ADD); > > >>>> + > > >>>> pci_setup_sva_ops(pdev, &vfio_pci_sva_ops); > > >>>> > > >>>> return; > > >>>> @@ -3134,6 +3136,7 @@ static void vfio_exitfn(PCIDevice *pdev) > > >>>> { > > >>>> VFIOPCIDevice *vdev = DO_UPCAST(VFIOPCIDevice, pdev, pdev); > > >>>> > > >>>> + pci_device_notify_iommu(pdev, PCI_NTY_DEV_DEL); > > >>> > > >>> Please make the names longer: PCI_IOMMU_NOTIFY_DEVICE_ADDED and > > >>> PCI_IOMMU_NOTIFY_DEVICE_REMOVED. (This is independent of my other > > >>> remark, about doing this in generic PCI code for all devices that > > >>> register SVA ops). > > >> > > >> Thanks for the suggestion, will appply. > > > > > > Isn't the name too generic if it's tailored for VFIO only? Would > > > something like PCI_IOMMU_NOTIFY_VFIO_ADD be a bit better? > > > > I don't think it's for VFIO only. It's just that VFIO is the only > > caller of pci_setup_sva_ops. > > Indeed. E.g., we can have emulated devices that also want to provide > the SVA ops.
Excatly as Paolo commented. ^_^ Thanks, Yi Liu