The Dynamic Tables Framework is a prototyped as a solution for automatically generating the firmware tables based on hardware description.
This patchset is the Dynamic Tables Framework core and implement the generic/standard modules for dynamically generating ACPI 6.2 tables for ARM platform. The platform specific modules are in the devel-dynamictables branch in the edk2-platforms repository at: https://github.com/tianocore/edk2-platforms/tree/devel-dynamictables The first patch in this patchset 'MdePkg: SMMUv3 updates for IORT' is a precursor for the Dynamic Tables Framework and has been submitted independently to the edk2-devel mailing list where it is currently awaiting acceptance. The sources for this patchset can be seen at: https://github.com/samimujawar/edk2-staging/tree/187_dynamictables_v1 Sami Mujawar (2): MdePkg: SMMUv3 updates for IORT table definitions DynamicTablesPkg: Dynamic Tables Framework 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 | 84 + DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf | 59 + DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/SmbiosTableFactory/SmbiosTableFactory.c | 226 +++ DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.c | 533 +++++ DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf | 48 + DynamicTablesPkg/DynamicTables.dsc.inc | 46 + DynamicTablesPkg/DynamicTables.fdf.inc | 35 + DynamicTablesPkg/DynamicTablesPkg.dec | 42 + DynamicTablesPkg/Include/AcpiTableGenerator.h | 282 +++ DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 587 ++++++ DynamicTablesPkg/Include/ConfigurationManagerHelper.h | 119 ++ DynamicTablesPkg/Include/ConfigurationManagerObject.h | 176 ++ DynamicTablesPkg/Include/DeviceTreeTableGenerator.h | 182 ++ DynamicTablesPkg/Include/Library/TableHelperLib.h | 70 + DynamicTablesPkg/Include/Protocol/ConfigurationManagerProtocol.h | 128 ++ DynamicTablesPkg/Include/Protocol/DynamicTableFactoryProtocol.h | 140 ++ DynamicTablesPkg/Include/SmbiosTableGenerator.h | 240 +++ DynamicTablesPkg/Include/StandardNameSpaceObjects.h | 116 ++ DynamicTablesPkg/Include/TableGenerator.h | 252 +++ DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf | 47 + DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c | 440 +++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf | 41 + DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c | 666 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdtLibArm.inf | 41 + DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c | 670 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/AcpiIortLibArm.inf | 41 + DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c | 2046 ++++++++++++++++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.h | 50 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/AcpiMadtLibArm.inf | 41 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c | 717 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf | 41 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c | 342 ++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf | 41 + DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/RawGenerator.c | 142 ++ DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf | 41 + DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c | 324 ++++ DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c | 164 ++ DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf | 35 + MdePkg/Include/IndustryStandard/IoRemappingTable.h | 11 +- 42 files changed, 9881 insertions(+), 1 deletion(-) 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 -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

