summaryrefslogtreecommitdiff
path: root/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.c
AgeCommit message (Collapse)AuthorFilesLines
2025-09-30DynamicTablesPkg: Add SMBIOS table generationGirish Mahadevan1-0/+18
Add the SMBIOS Table generator code to the DynamicTablesPkg. This change includes adding new logic to the DynamicTableManager to process and add SMBIOS tables and augmenting the existing SMBIOS Factory generator to include installing multiple SMBIOS tables. Signed-off-by: Girish Mahadevan <gmahadevan@nvidia.com>
2025-09-30DynamicTablesPkg: Move ACPI building & change DEPEX on protocolGirish Mahadevan1-728/+21
In preparation to introduce Dynamic SMBIOS support the following 2 changes are required: 1. Use ProtocolNotify Event for generating the ACPI tables and don't include the ACPI protocol in the Depex section for DynamicTableManagerDxe Driver. This is because if a platforms doesn't do ACPI based boot or if doesn't want to install SMBIOS tables we still want the DynamicTableManager to be dispatched to install the SMBIOS or ACPI tables respectively. 2. Split the logic for building the ACPI tables to a separate file. Signed-off-by: Girish Mahadevan <gmahadevan@nvidia.com>
2025-06-11DynamicTablesPkg: Add GetMetadataRoot() cb to DynamicTableFactory protocolPierre Gondois1-0/+14
The newly added MetadataObjLib allows to store information either: - generated by the DynamictTablesPkg framework - provided by a ConfigurationManager - parsed from another source of information This information might be subject to validation/verification. This step can only be done once the firmware tables generated by the DynamictTablesPkg have been generated. Add a new GetMetadataRoot() callback to the EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL. This callback allows to fetch the Metadata Root, allowing to access all the Metadata information generated. This Metadata is then validated by the DynamicTableManagerDxe. Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2024-07-29DynamicTablesPkg: DynamicTableManagerDxe: Refactor PresenceArrayPierre Gondois1-50/+20
Mandatory ACPI tables depend on the architectures. Different architectures might also want to check other tables. Move mAcpiVerifyTables containing the list of ACPI tables to check to an arch specific file and introduce GetAcpiTablePresenceInfo() to get get the relevant information from the array. Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2022-09-01DynamicTablesPkg: DynamicTableManagerDxe: Added check for installed tablesKun Qin1-81/+137
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3997 This change added an extra step to allow check for installed ACPI tables. For FADT, MADT, GTDT, DSDT, DBG2 and SPCR tables, either pre-installed or supplied through AcpiTableInfo can be accepted. An extra check for FADT ACPI table existence during installation step is also added. Cc: Sami Mujawar <Sami.Mujawar@arm.com> Cc: Alexei Fedorov <Alexei.Fedorov@arm.com> Co-authored-by: Joe Lopez <joelopez@microsoft.com> Signed-off-by: Kun Qin <kuqin12@gmail.com> Reviewed-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@Arm.com> Tested-by: Sami Mujawar <sami.mujawar@arm.com>
2021-12-07DynamicTablesPkg: Apply uncrustify changesMichael Kubacki1-80/+93
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the DynamicTablesPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2020-03-29DynamicTablesPkg: Fix entry point param definitionSami Mujawar1-2/+2
VS2017 reports 'warning C4028: formal parameter 2 different from declaration' for the library constructor and destructor interfaces for the Generator modules. VS2017 compiler also reports similar warnings for the DXE entry points. Remove the CONST qualifier for the SystemTable pointer (the second parameter to the constructor/destructor/DXE Entry point) to make it compatible with the formal declaration. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
2019-04-09DynamicTablesPkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney1-7/+1
https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2019-02-19DynamicTablesPkg: Dynamic Table Manager DxeSami Mujawar1-0/+735
The dynamic table manager implements the top level component that drives the table generation and installation process. It uses the configuration manager protocol to get the list of tables to be installed from the configuration manager. It iterates through the list of tables, requests the table factories for corresponding generators and invokes the generator interface to build the tables. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>