Patch series to add SMBIOS Table generation using DynamicTablesPkg This patch series builds on top of the SMBIOS table dispatcher work that dispatches and installs SMBIOS tables in the correct order.
This patches series does the following: - Modify the existing DynamicTableManagerDxe driver to remove the Depex on AcpiTableProtocolGuid , instead setup notify callbacks for the ACPI and SMBIOS protocols. This is because not all systems mandate ACPI tables be present in which case SMBIOS tables won't get installed. - Add functions to build and install single and multiple SMBIOS tables similar to ACPI tables. - Modify the Smbios Table Factory code to add a Handle map to go between the SMBIOS handles and the CMObject Token that is used to generate the SMBIOS tables. - After installing each SMBIOS table update the Handle map with the generated SMBIOS handle and the CMObject Token (usually the CM Object used to generate the table) or a generated Token. - Split the ACPI and SMBIOS table manager code into their own files. - Introduce a new namepsace for SMBIOS CM objects. - Add new generator libraries for SMBIOS table type17 (Memory Device) and type16 (Physical Memory Array) This patch series can be seen at https://github.com/tianocore/edk2/compare/master...gmahadevan:RFC/smbios-dyntables-v2-genonly The complete patch series which includes 18 Table Generators is available here: https://github.com/tianocore/edk2/compare/master...gmahadevan:edk2-upstream:RFC/smbios-dyntables-v2 Girish Mahadevan (5): DynamicTablesPkg: Add SMBIOS table generation DynamicTablesPkg: Split the ACPI and SMBIOS table generators DynamicTablesPkg: Introduce new namespace for SMBIOS Objects DynamicTablesPkg: Smbios Memory Device (Type 17) DynamicTablesPkg: Smbios Physical Memory Array (Type 16) .../DynamicTableFactory.h | 5 + .../DynamicTableFactoryDxe.c | 10 + .../SmbiosTableFactory/SmbiosTableFactory.c | 108 +++ .../DynamicTableManagerDxe/AcpiTableBuilder.c | 798 ++++++++++++++++++ .../DynamicTableManagerDxe.c | 781 +---------------- .../DynamicTableManagerDxe.inf | 5 +- .../SmbiosTableBuilder.c | 603 +++++++++++++ .../Include/ConfigurationManagerObject.h | 14 +- .../Protocol/DynamicTableFactoryProtocol.h | 10 + .../Include/SmbiosNameSpaceObjects.h | 131 +++ .../Include/SmbiosTableGenerator.h | 204 ++++- .../SmbiosType16Lib/SmbiosType16Generator.c | 361 ++++++++ .../SmbiosType16Lib/SmbiosType16Lib.inf | 35 + .../SmbiosType17Lib/SmbiosType17Generator.c | 445 ++++++++++ .../SmbiosType17Lib/SmbiosType17Lib.inf | 36 + MdePkg/Include/IndustryStandard/SmBios.h | 8 + 16 files changed, 2805 insertions(+), 749 deletions(-) create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/AcpiTableBuilder.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/SmbiosTableBuilder.c create mode 100644 DynamicTablesPkg/Include/SmbiosNameSpaceObjects.h create mode 100644 DynamicTablesPkg/Library/Smbios/SmbiosType16Lib/SmbiosType16Generator.c create mode 100644 DynamicTablesPkg/Library/Smbios/SmbiosType16Lib/SmbiosType16Lib.inf create mode 100644 DynamicTablesPkg/Library/Smbios/SmbiosType17Lib/SmbiosType17Generator.c create mode 100644 DynamicTablesPkg/Library/Smbios/SmbiosType17Lib/SmbiosType17Lib.inf -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107254): https://edk2.groups.io/g/devel/message/107254 Mute This Topic: https://groups.io/mt/100361558/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-