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 <sami.muja...@arm.com> The changes can be seen at: https://github.com/samimujawar/edk2/tree/365_dynamic_tables_framework_v2 This v2 patch series incorporates: * provision for extending the framework to support newer versions of specifications. * minor code improvements. The corresponding edk2-platform changes can be seen at: https://github.com/samimujawar/edk2-platforms/tree/365_dynamic_tables_framework_v3 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 | 44 + DynamicTablesPkg/DynamicTables.fdf.inc | 24 + DynamicTablesPkg/DynamicTablesPkg.dec | 43 + DynamicTablesPkg/Include/AcpiTableGenerator.h | 360 ++++ DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 591 ++++++ DynamicTablesPkg/Include/ConfigurationManagerHelper.h | 132 ++ DynamicTablesPkg/Include/ConfigurationManagerObject.h | 182 ++ DynamicTablesPkg/Include/DeviceTreeTableGenerator.h | 182 ++ DynamicTablesPkg/Include/Library/TableHelperLib.h | 68 + DynamicTablesPkg/Include/Protocol/ConfigurationManagerProtocol.h | 128 ++ DynamicTablesPkg/Include/Protocol/DynamicTableFactoryProtocol.h | 269 +++ DynamicTablesPkg/Include/SmbiosTableGenerator.h | 240 +++ DynamicTablesPkg/Include/StandardNameSpaceObjects.h | 119 ++ DynamicTablesPkg/Include/TableGenerator.h | 252 +++ DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf | 48 + DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c | 463 +++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c | 689 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdtLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c | 700 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/AcpiIortLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c | 2081 ++++++++++++++++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.h | 50 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/AcpiMadtLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c | 745 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c | 370 ++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/RawGenerator.c | 150 ++ DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c | 347 ++++ DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c | 176 ++ DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf | 36 + DynamicTablesPkg/Readme.md | 139 ++ 42 files changed, 10659 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)' _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel