From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.6275.1624448492116171832 for ; Wed, 23 Jun 2021 04:41:32 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: pierre.gondois@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B3F3531B; Wed, 23 Jun 2021 04:41:31 -0700 (PDT) Received: from e120189.arm.com (unknown [10.57.78.245]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4EB083F719; Wed, 23 Jun 2021 04:41:30 -0700 (PDT) From: "PierreGondois" To: devel@edk2.groups.io, Sami Mujawar , Alexei Fedorov Cc: Akanksha Jain , Alexandru Elisei Subject: [PATCH v1 00/13] Create a SSDT CPU topology generator Date: Wed, 23 Jun 2021 12:40:25 +0100 Message-Id: <20210623114039.24491-1-Pierre.Gondois@arm.com> X-Mailer: git-send-email 2.17.1 From: Pierre Gondois 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_v1 The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/1746 This patch-set is dependent over the following patch set: [PATCH v1 00/10] Various DynamicTablesPkg modifications https://edk2.groups.io/g/devel/message/76929 Pierre Gondois (13): 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 +++ .../SsdtCpuTopologyGenerator.c | 1230 ++++++++++++++++ .../SsdtCpuTopologyGenerator.h | 134 ++ .../SsdtCpuTopologyLibArm.inf | 40 + .../Library/Common/AmlLib/AmlEncoding/Aml.c | 87 +- .../Library/Common/AmlLib/AmlEncoding/Aml.h | 47 +- .../Common/AmlLib/CodeGen/AmlCodeGen.c | 1296 ++++++++++++++++- .../AmlLib/CodeGen/AmlResourceDataCodeGen.c | 191 +++ .../AmlLib/CodeGen/AmlResourceDataCodeGen.h | 83 ++ .../Library/Common/AmlLib/Utils/AmlUtility.c | 3 +- .../Library/Common/AmlLib/Utils/AmlUtility.h | 18 +- .../ConfigurationManagerObjectParser.c | 35 + 15 files changed, 3406 insertions(+), 7 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