Hi Joerg,
On 09/25/2018 09:26 PM, Joerg Roedel wrote:
On Tue, Sep 25, 2018 at 11:15:40AM +0800, Lu Baolu wrote:
This might be problematic for vt-d (and other possible arch's which use
PASID other than SVA). When vt-d iommu works in scalable mode, a PASID
might be allocated for:
(1) SVA
(2) Device Assignable Interface (might be a mdev or directly managed
within a device driver).
(3) SVA in VM guest
(4) Device Assignable Interface in VM guest
So we can't expect that an io_mm pointer was associated with each PASID.
And this code might run into problem if the pasid is allocated for
usages other than SVA.
So all of these use-cases above should work in parallel on the same
device, just with different PASIDs?
No. It's not required.
Or is a device always using only one
of the above modes at the same time?
A device might use one or multiple modes described above at the same
time.
Best regards,
Lu Baolu