From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.106.53; helo=cam-smtp0.cambridge.arm.com; envelope-from=sami.mujawar@arm.com; receiver=edk2-devel@lists.01.org Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.53]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D7EFF21A143EF for ; Fri, 21 Dec 2018 08:58:20 -0800 (PST) Received: from E107187.Arm.com (e107187.arm.com [10.1.195.55]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id wBLGvOUS018491; Fri, 21 Dec 2018 16:58:15 GMT From: Sami Mujawar To: edk2-devel@lists.01.org Cc: alexei.fedorov@arm.com, leif.lindholm@linaro.org, Matteo.Carlini@arm.com, Stephanie.Hughes-Fitt@arm.com, nd@arm.com Date: Fri, 21 Dec 2018 16:56:57 +0000 Message-Id: <20181221165719.49480-1-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 Subject: [PATCH v1 00/22] DynamicTablesPkg: Introduce Dynamic Tables Framework X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Dec 2018 16:58:21 -0000 Dynamic Tables Framework aims to reduce the amount of effort required for porting firmware to new platforms by simplifying the generation of firmware tables based on hardware description provided by a platform specific component. The Dynamic Tables Framework core queries the platform specific component to retrieve the required hardware information for generating standardised firmware tables at run-time. This patch series introduce the Dynamic Tables Framework. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar The changes can be seen at: https://github.com/samimujawar/edk2/tree/365_dynamic_tables_framework_v1 Sami Mujawar (22): DynamicTablesPkg: Dynamic Tables Framework DynamicTablesPkg: Table Generator definition DynamicTablesPkg: Acpi Table Generator DynamicTablesPkg: SMBIOS Table Generator DynamicTablesPkg: DT Table Generator DynamicTablesPkg: Standard NameSpace Objects DynamicTablesPkg: Arm NameSpace Objects DynamicTablesPkg: Configuration Manager Objects DynamicTablesPkg: Configuration Manager Protocol DynamicTablesPkg: Configuration Manager Helper DynamicTablesPkg: Table Helper Library DynamicTablesPkg: Dynamic Table Factory Protocol DynamicTablesPkg: Dynamic Table Factory Dxe DynamicTablesPkg: Dynamic Table Manager Dxe DynamicTablesPkg: Arm Raw/DSDT/SSDT Generator DynamicTablesPkg: Arm ACPI FADT Generator DynamicTablesPkg: Arm ACPI MADT Generator DynamicTablesPkg: Arm ACPI GTDT Generator DynamicTablesPkg: Arm SPCR Table Generator DynamicTablesPkg: Arm DBG2 Table Generator DynamicTablesPkg: Arm PCI MCFG Table Generator DynamicTablesPkg: Arm IORT Table Generator DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTableFactory.c | 226 +++ DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DeviceTreeTableFactory/DeviceTreeTableFactory.c | 225 +++ DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactory.h | 125 ++ DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.c | 90 + DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf | 60 + DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/SmbiosTableFactory/SmbiosTableFactory.c | 226 +++ DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.c | 735 +++++++ DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf | 50 + DynamicTablesPkg/DynamicTables.dsc.inc | 43 + DynamicTablesPkg/DynamicTables.fdf.inc | 24 + DynamicTablesPkg/DynamicTablesPkg.dec | 43 + DynamicTablesPkg/Include/AcpiTableGenerator.h | 357 ++++ DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 591 ++++++ DynamicTablesPkg/Include/ConfigurationManagerHelper.h | 119 ++ DynamicTablesPkg/Include/ConfigurationManagerObject.h | 176 ++ DynamicTablesPkg/Include/DeviceTreeTableGenerator.h | 182 ++ DynamicTablesPkg/Include/Library/TableHelperLib.h | 66 + DynamicTablesPkg/Include/Protocol/ConfigurationManagerProtocol.h | 128 ++ DynamicTablesPkg/Include/Protocol/DynamicTableFactoryProtocol.h | 269 +++ DynamicTablesPkg/Include/SmbiosTableGenerator.h | 240 +++ DynamicTablesPkg/Include/StandardNameSpaceObjects.h | 116 ++ DynamicTablesPkg/Include/TableGenerator.h | 252 +++ DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf | 48 + DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c | 442 +++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c | 668 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdtLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c | 674 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/AcpiIortLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c | 2055 ++++++++++++++++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.h | 50 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/AcpiMadtLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c | 719 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c | 344 ++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/RawGenerator.c | 143 ++ DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c | 326 ++++ DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c | 164 ++ DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf | 36 + DynamicTablesPkg/Readme.md | 139 ++ 42 files changed, 10445 insertions(+) create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTableFactory.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DeviceTreeTableFactory/DeviceTreeTableFactory.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactory.h create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/SmbiosTableFactory/SmbiosTableFactory.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf create mode 100644 DynamicTablesPkg/DynamicTables.dsc.inc create mode 100644 DynamicTablesPkg/DynamicTables.fdf.inc create mode 100644 DynamicTablesPkg/DynamicTablesPkg.dec create mode 100644 DynamicTablesPkg/Include/AcpiTableGenerator.h create mode 100644 DynamicTablesPkg/Include/ArmNameSpaceObjects.h create mode 100644 DynamicTablesPkg/Include/ConfigurationManagerHelper.h create mode 100644 DynamicTablesPkg/Include/ConfigurationManagerObject.h create mode 100644 DynamicTablesPkg/Include/DeviceTreeTableGenerator.h create mode 100644 DynamicTablesPkg/Include/Library/TableHelperLib.h create mode 100644 DynamicTablesPkg/Include/Protocol/ConfigurationManagerProtocol.h create mode 100644 DynamicTablesPkg/Include/Protocol/DynamicTableFactoryProtocol.h create mode 100644 DynamicTablesPkg/Include/SmbiosTableGenerator.h create mode 100644 DynamicTablesPkg/Include/StandardNameSpaceObjects.h create mode 100644 DynamicTablesPkg/Include/TableGenerator.h create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdtLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/AcpiIortLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.h create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/AcpiMadtLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/RawGenerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c create mode 100644 DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c create mode 100644 DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf create mode 100644 DynamicTablesPkg/Readme.md -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'