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.web09.5018.1637257377743969341 for ; Thu, 18 Nov 2021 09:42:58 -0800 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 0642DED1; Thu, 18 Nov 2021 09:42:56 -0800 (PST) Received: from e120189.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id EF0603F5A1; Thu, 18 Nov 2021 09:42:54 -0800 (PST) From: "PierreGondois" To: devel@edk2.groups.io, Sami.Mujawar@arm.com, Alexei.Fedorov@arm.com Subject: [PATCH v3 0/8] Create a SSDT PCIe generator Date: Thu, 18 Nov 2021 17:42:39 +0000 Message-Id: <20211118174247.21075-1-Pierre.Gondois@arm.com> X-Mailer: git-send-email 2.17.1 From: Pierre Gondois REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3682 As part of the DynamicTablesPkg, add a generator creating a SSDT table describing a PCIe bus. This patch-set also adds new functions to generate AML bytecode in the AmlLib. The changes can be seen at: https://github.com/PierreARM/edk2/tree/1781_Create_ssdt_pcie_generator_v3 v3: - Use ASSERT_EFI_ERROR when possible. [Sami] - Fix typos and add comments. [Pierre] - Add new patch "DynamicTablesPkg: Fix multiple objects parsing". [Pierre] v2: The following patches were modified: - DynamicTablesPkg: AML Code generation for memory ranges - DynamicTablesPkg: SSDT Pci express generator Pierre Gondois (8): DynamicTablesPkg: AML Code generation for memory ranges DynamicTablesPkg: AML Code generation to create a named Package() DynamicTablesPkg: AML Code generation to create a named ResourceTemplate() DynamicTablesPkg: AML Code generation to add _PRT entries DynamicTablesPkg: Add AmlAttachNode() DynamicTablesPkg: Add Pci related objects DynamicTablesPkg: SSDT Pci express generator DynamicTablesPkg: Fix multiple objects parsing DynamicTablesPkg/DynamicTables.dsc.inc | 2 + DynamicTablesPkg/Include/AcpiTableGenerator.h | 5 + .../Include/ArmNameSpaceObjects.h | 78 + .../Include/Library/AmlLib/AmlLib.h | 413 +++++ .../AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 1450 +++++++++++++++++ .../AcpiSsdtPcieLibArm/SsdtPcieGenerator.h | 138 ++ .../Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf | 32 + .../SsdtPcieOscTemplate.asl | 80 + .../Library/Common/AmlLib/Api/AmlApi.c | 36 + .../Common/AmlLib/CodeGen/AmlCodeGen.c | 320 ++++ .../AmlLib/CodeGen/AmlResourceDataCodeGen.c | 943 +++++++++++ .../ConfigurationManagerObjectParser.c | 41 +- 12 files changed, 3535 insertions(+), 3 deletions(-) create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieOscTemplate.asl -- 2.17.1