You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Different encodings are used to represent supported PASID bits
and number of PASID table entries.
The current code assigns ecap_pss directly to extended context
table entry PTS which is wrong and could result in writing
non-zero bits to the reserved fields. IOMMU fault reason
11 will be reported when reserved bits are nonzero.
This patch converts ecap_pss to extend context entry pts encoding
based on VT-d spec. Chapter 9.4 as follows:
- number of PASID bits = ecap_pss + 1
- number of PASID table entries = 2^(pts + 5)
Software assigned limit of pasid_max value is also respected to
match the allocation limitation of PASID table.
cc: Mika Kuoppala <[email protected]>
cc: Ashok Raj <[email protected]>
Signed-off-by: Jacob Pan <[email protected]>
Tested-by: Mika Kuoppala <[email protected]>
Fixes: 2f26e0a ('iommu/vt-d: Add basic SVM PASID support')
Signed-off-by: Joerg Roedel <[email protected]>
0 commit comments