On Wed, Sep 03, 2014 at 04:22:42PM +0100, Joerg Roedel wrote:
> Hi Will,

Hi Joerg,

> On Tue, Sep 02, 2014 at 10:53:36AM +0100, Will Deacon wrote:
> > This is version three of the patches I originally posted here:
> > 
> >   RFCv1: http://permalink.gmane.org/gmane.linux.kernel.iommu/5552
> >   RFCv2: http://permalink.gmane.org/gmane.linux.kernel.iommu/5700
> > 
> > Changes since RFCv2 include:
> > 
> >   - Dropped the RFC tag
> >   - Rebased onto 3.17-rc*
> >   - Iterate the support bus_types (currently just PCI) and check that
> >     nesting is actually supported
> > 
> > The corresponding arm-smmu changes are included to show how the new
> > domain attribute can be used.
> 
> How is this implemented in the SMMU, can there be only one stage2
> mapping, so that a device can be passed through to a KVM guest or can
> there be multiple stage2 mappings in parallel (like with PRI/PASID on
> PCI) to support multiple translation contexts on one device?

The restriction is that a stage-1 context (i.e. set of guest page tables)
can be associated with at most 1 stage-2 context. If a device is capable of
emitting multiple Stream IDs and the guest assigns those to different
stage-1 contexts, then I guess we could use different stage-2 contexts for
them, but it's not something I'd considered.

Note that the stage-2 context is used to walk the stage-1 page tables, so
you always needs the guest memory to be mapped there.

Will
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to