On Sat, 2013-06-22 at 22:03 +1000, David Gibson wrote:
I think the interface should not take the group fd, but the container
fd. Holding a reference to *that* would keep the necessary things
around. But more to the point, it's the right thing semantically:
The container is essentially the handle on a host iommu address space,
and so that's what should be bound by the KVM call to a particular
guest iommu address space. e.g. it would make no sense to bind two
different groups to different guest iommu address spaces, if they were
in the same container - the guest thinks they are different spaces,
but if they're in the same container they must be the same space.
Interestingly, how are we going to extend that when/if we implement
DDW ?
DDW means an API by which the guest can request the creation of
additional iommus for a given device (typically, in addition to the
default smallish 32-bit one using 4k pages, the guest can request
a larger window in 64-bit space using a larger page size).
Cheers,
Ben.