edk2/MdeModulePkg/Library/DxeReportStatusCodeLib
Joey Vagedes ce61d5f327 MdeModulePkg: DxeReportStatusCodeLib: Do not query protocol
This commit stops the library from querying the protocol database for
the status code protocol at the time of library function use. This logic
can result in a TPL inversion if the protocol has not yet been cached
and the caller is calling the library function when the TPL is higher
then TPL_NOTIFY.

Instead, the protocol is now located during the constructor of the
library. If the protocol is not found, then an on-protocol install event
is registered which will cache the protocol. A destructor is also added
to close the event in the scenario that the driver is unloaded before
the protocol is installed.

Signed-off-by: Joey Vagedes <joey.vagedes@gmail.com>
2026-01-14 04:00:20 +00:00
..
DxeReportStatusCodeLib.inf MdeModulePkg: DxeReportStatusCodeLib: Do not query protocol 2026-01-14 04:00:20 +00:00
DxeReportStatusCodeLib.uni MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
ReportStatusCodeLib.c MdeModulePkg: DxeReportStatusCodeLib: Do not query protocol 2026-01-14 04:00:20 +00:00