[PATCH v2 00/21] Create a SSDT CPU topology generator


PierreGondois
 

From: Pierre Gondois <Pierre.Gondois@arm.com>

v2:
- Update or error handling. [Sami/Pierre]
- Various comments. [Sami]
and
New patches:
DynamicTablesPkg: Remove unnecessary includes
DynamicTablesPkg: Add missing parameter check
DynamicTablesPkg: Add AddSsdtAcpiHeader()
DynamicTablesPkg: Add AmlRdSetEndTagChecksum()
DynamicTablesPkg: Add AmlSetRdListCheckSum()
DynamicTablesPkg: Set EndTag's Checksum if RdList is modified
DynamicTablesPkg: Clear pointer in node creation fcts
DynamicTablesPkg: Update error handling for node creation

As part of the DynamicTablesPkg, add a generator creating a
SSDT table representing a CPU topology. Low Power Idle (LPI)
states can also be generated along the CPUs.
This patch-set also adds new functions to generate AML bytecode.

The changes can be seen at: https://github.com/PierreARM/edk2/tree/1449_Create_ssdt_cpu_topology_generator_v2

Pierre Gondois (21):
DynamicTablesPkg: Remove unnecessary includes
DynamicTablesPkg: Add missing parameter check
DynamicTablesPkg: Add AddSsdtAcpiHeader()
DynamicTablesPkg: Add AmlRdSetEndTagChecksum()
DynamicTablesPkg: Add AmlSetRdListCheckSum()
DynamicTablesPkg: Set EndTag's Checksum if RdList is modified
DynamicTablesPkg: Clear pointer in node creation fcts
DynamicTablesPkg: Update error handling for node creation
DynamicTablesPkg: Make AmlNodeGetIntegerValue public
DynamicTablesPkg: AML Code generation for Register()
DynamicTablesPkg: AML Code generation for Resource data EndTag
DynamicTablesPkg: AML code generation for a Package
DynamicTablesPkg: Helper function to compute package length
DynamicTablesPkg: AML code generation for a ResourceTemplate
DynamicTablesPkg: AML code generation for a Method
DynamicTablesPkg: AML code generation to Return a NameString
DynamicTablesPkg: AML code generation for a Method returning a NS
DynamicTablesPkg: AML code generation for a _LPI object
DynamicTablesPkg: AML code generation to add an _LPI state
DynamicTablesPkg: Add CM_ARM_LPI_INFO object
DynamicTablesPkg: SSDT CPU topology and LPI state generator

DynamicTablesPkg/DynamicTables.dsc.inc | 6 +
DynamicTablesPkg/Include/AcpiTableGenerator.h | 7 +-
.../Include/ArmNameSpaceObjects.h | 68 +
.../Include/Library/AmlLib/AmlLib.h | 168 ++
.../Include/Library/TableHelperLib.h | 35 +
.../SsdtCmn600Generator.c | 2 -
.../SsdtCpuTopologyGenerator.c | 1228 +++++++++++++++
.../SsdtCpuTopologyGenerator.h | 134 ++
.../SsdtCpuTopologyLibArm.inf | 33 +
.../SsdtSerialPortGenerator.c | 3 -
.../Library/Common/AmlLib/AmlEncoding/Aml.c | 87 +-
.../Library/Common/AmlLib/AmlEncoding/Aml.h | 47 +-
.../Common/AmlLib/CodeGen/AmlCodeGen.c | 1351 ++++++++++++++++-
.../AmlLib/CodeGen/AmlResourceDataCodeGen.c | 210 ++-
.../AmlLib/CodeGen/AmlResourceDataCodeGen.h | 92 ++
.../AmlLib/ResourceData/AmlResourceData.c | 33 +
.../AmlLib/ResourceData/AmlResourceData.h | 21 +
.../Library/Common/AmlLib/Tree/AmlClone.c | 2 -
.../Library/Common/AmlLib/Tree/AmlNode.c | 18 +-
.../Library/Common/AmlLib/Tree/AmlNode.h | 12 +-
.../Common/AmlLib/Tree/AmlNodeInterface.c | 7 +
.../Library/Common/AmlLib/Tree/AmlTree.c | 72 +-
.../Library/Common/AmlLib/Utils/AmlUtility.c | 79 +-
.../Library/Common/AmlLib/Utils/AmlUtility.h | 50 +-
.../SsdtSerialPortFixupLib.c | 1 -
.../ConfigurationManagerObjectParser.c | 35 +
.../Common/TableHelperLib/TableHelper.c | 89 ++
27 files changed, 3815 insertions(+), 75 deletions(-)
create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c
create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.h
create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyLibArm.inf

--
2.17.1

Join devel@edk2.groups.io to automatically receive all group messages.