summaryrefslogtreecommitdiff
path: root/lib/header.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/header.h')
-rw-r--r--lib/header.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/header.h b/lib/header.h
index 76ac8f2..56b2c39 100644
--- a/lib/header.h
+++ b/lib/header.h
@@ -1055,6 +1055,27 @@
/* PCIe Designated Vendor-Specific Capability */
#define PCI_DVSEC_HEADER1 4 /* Designated Vendor-Specific Header 1 */
#define PCI_DVSEC_HEADER2 8 /* Designated Vendor-Specific Header 2 */
+#define PCI_DVSEC_INTEL_CXL 0 /* Designated Vendor-Specific ID for Intel CXL */
+#define PCI_DVSEC_VENDOR_ID_CXL 0x1e98 /* Designated Vendor-Specific Vendor ID for CXL */
+
+/* PCIe CXL Designated Vendor-Specific Capabilities, Control, Status */
+#define PCI_CXL_CAP 0x0a /* CXL Capability Register */
+#define PCI_CXL_CAP_CACHE 0x0001 /* CXL.cache Protocol Support */
+#define PCI_CXL_CAP_IO 0x0002 /* CXL.io Protocol Support */
+#define PCI_CXL_CAP_MEM 0x0004 /* CXL.mem Protocol Support */
+#define PCI_CXL_CAP_MEM_HWINIT 0x0008 /* CXL.mem Initalizes with HW/FW Support */
+#define PCI_CXL_CAP_HDM_CNT(x) (((x) & (3 << 4)) >> 4) /* CXL Number of HDM ranges */
+#define PCI_CXL_CAP_VIRAL 0x4000 /* CXL Viral Handling Support */
+#define PCI_CXL_CTRL 0x0c /* CXL Control Register */
+#define PCI_CXL_CTRL_CACHE 0x0001 /* CXL.cache Protocol Enable */
+#define PCI_CXL_CTRL_IO 0x0002 /* CXL.io Protocol Enable */
+#define PCI_CXL_CTRL_MEM 0x0004 /* CXL.mem Protocol Enable */
+#define PCI_CXL_CTRL_CACHE_SF_COV(x) (((x) & (0x1f << 3)) >> 3) /* Snoop Filter Coverage */
+#define PCI_CXL_CTRL_CACHE_SF_GRAN(x) (((x) & (0x7 << 8)) >> 8) /* Snoop Filter Granularity */
+#define PCI_CXL_CTRL_CACHE_CLN 0x0800 /* CXL.cache Performance Hint on Clean Evictions */
+#define PCI_CXL_CTRL_VIRAL 0x4000 /* CXL Viral Handling Enable */
+#define PCI_CXL_STATUS 0x0e /* CXL Status Register */
+#define PCI_CXL_STATUS_VIRAL 0x4000 /* CXL Viral Handling Status */
/* Access Control Services */
#define PCI_ACS_CAP 0x04 /* ACS Capability Register */