summaryrefslogtreecommitdiff
path: root/source/include/actbl1.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/include/actbl1.h')
-rw-r--r--source/include/actbl1.h43
1 files changed, 42 insertions, 1 deletions
diff --git a/source/include/actbl1.h b/source/include/actbl1.h
index 437a122b1a6a..136ebf129389 100644
--- a/source/include/actbl1.h
+++ b/source/include/actbl1.h
@@ -523,9 +523,19 @@ 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 */
+
+#define ACPI_CEDT_CHBS_VERSION_CXL11 (0)
+#define ACPI_CEDT_CHBS_VERSION_CXL20 (1)
+
+/* Values for length field above */
+
+#define ACPI_CEDT_CHBS_LENGTH_CXL11 (0x2000)
+#define ACPI_CEDT_CHBS_LENGTH_CXL20 (0x10000)
/*
* CEDT subtables
@@ -545,6 +555,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)