summaryrefslogtreecommitdiff
path: root/BaseTools/Source/Python/CommonDataClass/FdfClass.py
diff options
context:
space:
mode:
authorSami Mujawar <sami.mujawar@arm.com>2023-02-23 19:34:10 +0300
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-09-30 11:27:48 +0300
commit8f63fce99410d9bc4fa5c8c6528e41c5317b7f9e (patch)
tree94a57d0d558db48f08fa95e0d1c11a3430cffd62 /BaseTools/Source/Python/CommonDataClass/FdfClass.py
parent6544b894a9cb5cf6265dc1e6de2424fe1193c765 (diff)
downloadedk2-8f63fce99410d9bc4fa5c8c6528e41c5317b7f9e.tar.xz
DynamicTablesPkg: Add Ordered dispatch support for SMBIOS tables
Some SMBIOS tables do not have a fixed dependency and can depend on any other SMBIOS tables. Therefore, the SMBIOS dispatcher cannot define a fixed sequence for dispatching these tables. A possible solution is to defer the dispatch of such SMBIOS tables towards the end, assuming that the dependent SMBIOS tables would have been dispatched by then. Therefore, introduce a dispatch order attribute such that SMBIOS tables that have a fixed dependency sequence are configured as Default Ordered, and the SMBIOS tables that do not have a fixed dependency have an Order attribute specifying an Order Level. An Order Level is used to sequence the dispatch of Ordered SMBIOS tables. The Default Ordered SMBIOS tables are dispatched first and a dependency walk is performed to dispatch the dependent tables by iterating through the SMBIOS_TABLE_DISPATCHER.Dependency[]. Once all Default ordered SMBIOS tables have been dispatched, the Ordered SMBIOS tables would be scheduled for dispatch in increasing order as of the Order Level, e.g. OrderL1, OrderL2, ... Note: The dispatcher does not perform a dependency walk for the Ordered SMBIOS tables as the expectation is that the dependent SMBIOS tables would be already dispatched. A top level dispatch function DispatchSmbiosTables() has been introduced to schedule the dispatch of Default Ordered and Ordered SMBIOS tables. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Cc: Alexei Fedorov <Alexei.Fedorov@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Cc: Girish Mahadevan <gmahadevan@nvidia.com> Cc: Jeff Brasen <jbrasen@nvidia.com> Cc: Ashish Singhal <ashishsingha@nvidia.com> Cc: Nick Ramirez <nramirez@nvidia.com> Cc: William Watson <wwatson@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com> Cc: Jose Marinho <Jose.Marinho@arm.com>
Diffstat (limited to 'BaseTools/Source/Python/CommonDataClass/FdfClass.py')
0 files changed, 0 insertions, 0 deletions