qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [RFC v3 03/25] hw/iommu: introduce IOMMUContext


From: Liu, Yi L
Subject: RE: [RFC v3 03/25] hw/iommu: introduce IOMMUContext
Date: Sat, 15 Feb 2020 06:25:25 +0000

> From: David Gibson < address@hidden >
> Sent: Friday, February 14, 2020 1:36 PM
> To: Liu, Yi L <address@hidden>
> Subject: Re: [RFC v3 03/25] hw/iommu: introduce IOMMUContext
> 
> On Wed, Feb 12, 2020 at 07:15:13AM +0000, Liu, Yi L wrote:
> > Hi Peter,
> >
> > > From: Peter Xu <address@hidden>
> > > Sent: Wednesday, February 12, 2020 12:59 AM
> > > To: Liu, Yi L <address@hidden>
> > > Subject: Re: [RFC v3 03/25] hw/iommu: introduce IOMMUContext
> > >
> > > On Fri, Jan 31, 2020 at 11:42:13AM +0000, Liu, Yi L wrote:
> > > > > I'm not very clear on the relationship betwen an IOMMUContext and a
> > > > > DualStageIOMMUObject.  Can there be many IOMMUContexts to a
> > > > > DualStageIOMMUOBject?  The other way around?  Or is it just
> > > > > zero-or-one DualStageIOMMUObjects to an IOMMUContext?
> > > >
> > > > It is possible. As the below patch shows, DualStageIOMMUObject is per 
> > > > vfio
> > > > container. IOMMUContext can be either per-device or shared across 
> > > > devices,
> > > > it depends on vendor specific vIOMMU emulators.
> > >
> > > Is there an example when an IOMMUContext can be not per-device?
> >
> > No, I don’t have such example so far. But as IOMMUContext is got from
> > pci_device_iommu_context(),  in concept it possible to be not per-device.
> > It is kind of leave to vIOMMU to decide if different devices could share a
> > single IOMMUContext.
> 
> On the "pseries" machine the vIOMMU only has one set of translations
> for a whole virtual PCI Host Bridge (vPHB).  So if you attach multiple
> devices to a single vPHB, I believe you'd get multiple devices in an
> IOMMUContext.  Well.. if we did the PASID stuff, which we don't at the
> moment.
> 
> Note that on pseries on the other hand it's routine to create multiple
> vPHBs, rather than multiple PCI roots being an oddity as it is on x86.

Thanks for the example, David. :-) BTW. I'll drop IOMMUContext in next version
as the email below mentioned.  Please feel free let me know your opinion.

https://lists.gnu.org/archive/html/qemu-devel/2020-02/msg02874.html

Regards,
Yi Liu

reply via email to

[Prev in Thread] Current Thread [Next in Thread]