Blob Blame History Raw
commit 699fc72e56936bebf3b9ba39b6e91bd957b44452
Author: Alison Schofield <alison.schofield@intel.com>
Date:   Thu May 20 13:48:40 2021 -0700

    Add the CFMWS structure definition to the CEDT table
    
    The CXL Fixed Memory Window Structure (CFMWS) is added to the
    CXL Early Discovery Table (CEDT). This new structure is defined
    in an ECN to the CXL 2.0 specification.
    
    https://www.computeexpresslink.org/spec-landing
    
    Signed-off-by: Alison Schofield <alison.schofield@intel.com>

diff --git a/source/include/actbl1.h b/source/include/actbl1.h
index 51fee30..f274a85 100644
--- a/source/include/actbl1.h
+++ b/source/include/actbl1.h
@@ -415,7 +415,8 @@ typedef struct acpi_cedt_header
 enum AcpiCedtType
 {
     ACPI_CEDT_TYPE_CHBS                 = 0,
-    ACPI_CEDT_TYPE_RESERVED             = 1
+    ACPI_CEDT_TYPE_CFMWS                = 1,
+    ACPI_CEDT_TYPE_RESERVED             = 2,
 };
 
 /* Values for version field above */
@@ -446,6 +447,37 @@ typedef struct acpi_cedt_chbs
 } ACPI_CEDT_CHBS;
 
 
+/* 1: CXL Fixed Memory Window Structure */
+
+typedef struct acpi_cedt_cfmws
+{
+    ACPI_CEDT_HEADER        Header;
+    UINT32                  Reserved1;
+    UINT64                  BaseHpa;
+    UINT64                  WindowSize;
+    UINT8                   InterleaveWays;
+    UINT8                   InterleaveArithmetic;
+    UINT16                  Reserved2;
+    UINT32                  Granularity;
+    UINT16                  Restrictions;
+    UINT16                  QtgId;
+    UINT32                  InterleaveTargets[];
+
+} ACPI_CEDT_CFMWS;
+
+/* Values for Interleave Arithmetic field above */
+
+#define ACPI_CEDT_CFMWS_ARITHMETIC_MODULO	(0)
+
+/* Values for Restrictions field above */
+
+#define ACPI_CEDT_CFMWS_RESTRICT_TYPE2		(1)
+#define ACPI_CEDT_CFMWS_RESTRICT_TYPE3		(1<<1)
+#define ACPI_CEDT_CFMWS_RESTRICT_VOLATILE	(1<<2)
+#define ACPI_CEDT_CFMWS_RESTRICT_PMEM		(1<<3)
+#define ACPI_CEDT_CFMWS_RESTRICT_FIXED		(1<<4)
+
+
 /*******************************************************************************
  *
  * CPEP - Corrected Platform Error Polling table (ACPI 4.0)