|
|
@@ -114,6 +114,7 @@
|
|
|
* Extended Capability Register
|
|
|
*/
|
|
|
|
|
|
+#define ecap_dit(e) ((e >> 41) & 0x1)
|
|
|
#define ecap_pasid(e) ((e >> 40) & 0x1)
|
|
|
#define ecap_pss(e) ((e >> 35) & 0x1f)
|
|
|
#define ecap_eafs(e) ((e >> 34) & 0x1)
|
|
|
@@ -283,6 +284,7 @@ enum {
|
|
|
#define QI_DEV_IOTLB_SID(sid) ((u64)((sid) & 0xffff) << 32)
|
|
|
#define QI_DEV_IOTLB_QDEP(qdep) (((qdep) & 0x1f) << 16)
|
|
|
#define QI_DEV_IOTLB_ADDR(addr) ((u64)(addr) & VTD_PAGE_MASK)
|
|
|
+#define QI_DEV_IOTLB_PFSID(pfsid) (((u64)(pfsid & 0xf) << 12) | ((u64)(pfsid & 0xfff) << 52))
|
|
|
#define QI_DEV_IOTLB_SIZE 1
|
|
|
#define QI_DEV_IOTLB_MAX_INVS 32
|
|
|
|
|
|
@@ -307,6 +309,7 @@ enum {
|
|
|
#define QI_DEV_EIOTLB_PASID(p) (((u64)p) << 32)
|
|
|
#define QI_DEV_EIOTLB_SID(sid) ((u64)((sid) & 0xffff) << 16)
|
|
|
#define QI_DEV_EIOTLB_QDEP(qd) ((u64)((qd) & 0x1f) << 4)
|
|
|
+#define QI_DEV_EIOTLB_PFSID(pfsid) (((u64)(pfsid & 0xf) << 12) | ((u64)(pfsid & 0xfff) << 52))
|
|
|
#define QI_DEV_EIOTLB_MAX_INVS 32
|
|
|
|
|
|
#define QI_PGRP_IDX(idx) (((u64)(idx)) << 55)
|