Skip to content

Commit 7ce03b2

Browse files
DynamicTablesPkg: Add CEDT generator
- Generate CEDT table from ConfigurationManager objects. - Only CHBS and CFMWS sub-tables are supported currently. - Tested via associated GoogleTest unit tests. Signed-off-by: Nick Graves <[email protected]>
1 parent 4b464e8 commit 7ce03b2

File tree

9 files changed

+1698
-1
lines changed

9 files changed

+1698
-1
lines changed

DynamicTablesPkg/DynamicTables.dsc.inc

+3-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#
3131
# Generators (Common)
3232
#
33+
DynamicTablesPkg/Library/Acpi/Common/AcpiCedtLib/AcpiCedtLib.inf
3334
DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf
3435
DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
3536
DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf
@@ -70,6 +71,7 @@
7071
<LibraryClasses>
7172
# Generators
7273
# Common
74+
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiCedtLib/AcpiCedtLib.inf
7375
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
7476
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/AcpiSratLib.inf
7577
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiSpmiLib/AcpiSpmiLib.inf
@@ -103,6 +105,7 @@
103105
<LibraryClasses>
104106
# Generators
105107
# Common
108+
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiCedtLib/AcpiCedtLib.inf
106109
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiDbg2Lib/AcpiDbg2Lib.inf
107110
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiFadtLib/AcpiFadtLib.inf
108111
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiMcfgLib/AcpiMcfgLib.inf
@@ -129,4 +132,3 @@
129132
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtCpuTopologyLib/SsdtCpuTopologyLib.inf
130133
NULL|DynamicTablesPkg/Library/Acpi/Common/AcpiSsdtPcieLib/SsdtPcieLib.inf
131134
}
132-

DynamicTablesPkg/DynamicTablesPkg.ci.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
"cacheablity",
105105
"CCIDX",
106106
"CCSIDR",
107+
"cfmws",
107108
"countof",
108109
"deviceid",
109110
"EArch",

DynamicTablesPkg/Include/AcpiTableGenerator.h

+3
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ The Dynamic Tables Framework implements the following ACPI table generators:
8080
Configuration Manager and builds the SPMI table.
8181
- FACS : The FACS generator collates the FACS information from the
8282
Configuration Manager and builds the FACS table.
83+
- CEDT : The CEDT generator collates the CEDT information from the
84+
Configuration Manager and builds the CEDT table.
8385
*/
8486

8587
/** The ACPI_TABLE_GENERATOR_ID type describes ACPI table generator ID.
@@ -114,6 +116,7 @@ typedef enum StdAcpiTableId {
114116
EStdAcpiTableIdSsdtHpet, ///< SSDT HPET Generator
115117
EStdAcpiTableIdSpmi, ///< SPMI Generator
116118
EStdAcpiTableIdFacs, ///< FACS Generator
119+
EStdAcpiTableIdCedt, ///< CEDT Generator
117120
EStdAcpiTableIdMax
118121
} ESTD_ACPI_TABLE_ID;
119122

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
## @file
2+
# CEDT Table Generator
3+
#
4+
# Copyright (c) 2025 Google Inc. All rights reserved.
5+
#
6+
# SPDX-License-Identifier: BSD-2-Clause-Patent
7+
##
8+
9+
[Defines]
10+
INF_VERSION = 0x00010019
11+
BASE_NAME = AcpiCedtLib
12+
FILE_GUID = 59F0D17F-AFDC-4F26-820B-E9ADC93859CE
13+
VERSION_STRING = 1.0
14+
MODULE_TYPE = DXE_DRIVER
15+
LIBRARY_CLASS = NULL|DXE_DRIVER
16+
CONSTRUCTOR = AcpiCedtLibConstructor
17+
DESTRUCTOR = AcpiCedtLibDestructor
18+
19+
[Sources]
20+
CedtGenerator.c
21+
22+
[Packages]
23+
MdePkg/MdePkg.dec
24+
MdeModulePkg/MdeModulePkg.dec
25+
EmbeddedPkg/EmbeddedPkg.dec
26+
DynamicTablesPkg/DynamicTablesPkg.dec
27+
28+
[LibraryClasses]
29+
BaseLib

0 commit comments

Comments
 (0)