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 <[email protected]> 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)' _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

