This patch series updates the configuration manager protocol API to allow for configuration managers that dynamically allocate memory when servicing calls from the Dynamic Tables framework.
Helper methods are provided in TableHelperLib to ensure backwards compatibility with configuration managers that do not allocate the memory that is provided to the caller. Additional methods are provided to reduce the difficulty of developing Dynamic Tables extensions and Configuration Managers. The Dynamic Tables framework is simplified to use the new revision of the protocol, while retaining backwards compatbility. The refactoring was tested using the AcpiViewApp and the Configuration Manager that is included in the JunoPkg, running in the SbsaQemu platform. The resulting dump of the ACPI tables is identical between a build that includes these patches and a build without this patchset. Cc: Sami Mujawar <sami.muja...@arm.com> Cc: Alexei Fedorov <alexei.fedo...@arm.com> Signed-off-by: Tomas Pilar <to...@nuviainc.com> -- Tomas Pilar (8): DynamicTablesPkg: Include BaseStackCheckLib DynamicTablesPkg: Fold Namespaces into CmObjectId Enums DynamicTablesPkg: Add ConfigurationManagerDumpApp DynamicTablesPkg: Update ConfigurationManagerProtocol DynamicTablesPkg: Add CfgMgrProtocol helper functions DynamicTablesPkg/TableHelperLib: User friendly strings DynamicTablesPkg: Simplify AddAcpiHeader, CfgMgrGetInfo DynamicTablesPkg: Remove GET_OBJECT_LIST .../ConfigurationManagerDumpApp.c | 69 ++ .../ConfigurationManagerDumpApp.inf | 41 + .../DynamicTableFactoryDxe.c | 1 - .../DynamicTableManagerDxe.c | 54 +- DynamicTablesPkg/DynamicTablesPkg.dsc | 7 + .../Include/ArmNameSpaceObjects.h | 3 +- .../Include/ConfigurationManagerHelper.h | 126 -- .../Include/ConfigurationManagerNameSpace.h | 43 + .../Include/ConfigurationManagerObject.h | 57 +- .../Include/Library/TableHelperLib.h | 205 +++- .../Protocol/ConfigurationManagerProtocol.h | 83 +- .../Include/StandardNameSpaceObjects.h | 7 +- .../Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c | 44 +- .../Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c | 211 +--- .../Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c | 242 ++-- .../Acpi/Arm/AcpiIortLibArm/IortGenerator.c | 1066 +++++------------ .../Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c | 312 ++--- .../Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c | 108 +- .../Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c | 295 ++--- .../Acpi/Arm/AcpiRawLibArm/RawGenerator.c | 1 - .../Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c | 45 +- .../Acpi/Arm/AcpiSratLibArm/SratGenerator.c | 447 +++---- .../ConfigurationObjectStrings.c | 92 ++ .../Common/TableHelperLib/TableHelper.c | 468 ++++++-- .../Common/TableHelperLib/TableHelperLib.inf | 10 +- 25 files changed, 1766 insertions(+), 2271 deletions(-) create mode 100644 DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.c create mode 100644 DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.inf delete mode 100644 DynamicTablesPkg/Include/ConfigurationManagerHelper.h create mode 100644 DynamicTablesPkg/Include/ConfigurationManagerNameSpace.h create mode 100644 DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationObjectStrings.c -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#63579): https://edk2.groups.io/g/devel/message/63579 Mute This Topic: https://groups.io/mt/75910561/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-