edk2/MdeModulePkg/Library
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
..
ArmFfaLib MdePkg,MdeModulePkg/ArmFfaLib: introduce ArmFfaGetPartitionInfo() 2026-01-08 12:07:46 +00:00
AuthVariableLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BaseBmpSupportLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BaseHobLibNull MdeModulePkg: Remove ARM32 Support 2025-09-25 22:04:10 +00:00
BaseIpmiCommandLibNull MdeModulePkg/IpmiCommandLib: Add NULL instance library 2023-01-19 03:57:32 +00:00
BaseIpmiLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BaseMemoryAllocationLibNull MdeModulePkg: Remove ARM32 Support 2025-09-25 22:04:10 +00:00
BasePlatformHookLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BaseResetSystemLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BaseRngLibTimerLib MdePkg/Rng: Add GetRngGuid() to RngLib 2023-09-08 09:48:55 +00:00
BaseSerialPortLib16550 MdeModulePkg: Fix definition typos 2025-06-11 17:20:20 +00:00
BaseSortLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BaseSpiHcPlatformLibNull MdeModulePkg:BaseSpiHcPlatformLib: Adding NULL lib instance 2024-05-08 04:43:58 +00:00
BaseVariableFlashInfoLib MdeModulePkg/VariableFlashInfoLib: Add initial library 2022-05-19 06:11:20 +00:00
BootDiscoveryPolicyUiLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BootLogoLib MdeModulePkg: Remove UGA support 2025-07-08 15:42:03 +00:00
BootMaintenanceManagerUiLib MdeModulePkg: Fix function typos 2025-06-12 17:50:45 +00:00
BootManagerUiLib MdeModulePkg/BootManagerUiLib: hide UiApp from boot entries 2025-04-11 10:42:01 +08:00
BrotliCustomDecompressLib MdeModulePkg/BrotliCustomDecompressLib: Undefine _MSC_VER for GCC 2025-12-24 03:36:31 +00:00
CpuExceptionHandlerLibNull MdeModulePkg: CpuExceptionHandlerLibNull: Return Success On Null Func 2025-10-23 00:57:59 +00:00
CustomizedDisplayLib MdeModulePkg: fix various typos 2025-11-21 21:49:59 +00:00
DebugAgentLibNull MdeModulePkg/DebugAgentLibNull: Indicate SMM Debug Agent support or not 2023-12-26 07:18:26 +00:00
DeviceManagerUiLib DeviceManagerUiLib:Update DeviceManager form data when the form opens. 2025-04-25 05:39:16 +00:00
DisplayUpdateProgressLibGraphics MdeModulePkg: Fix imbalanced debug macros 2022-09-09 01:42:39 +00:00
DisplayUpdateProgressLibText MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeCapsuleLibFmp MdeModulePkg/DxeCapsuleLibFmp:Added PCD for EmbeddedDriver Support 2025-10-14 17:45:19 +00:00
DxeCapsuleLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeCoreMemoryAllocationLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeCorePerformanceLib MdeModulePkg/DxeCorePerformanceLib: Fix incorrect size calculation 2025-03-26 09:59:01 +08:00
DxeCrc32GuidedSectionExtractLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeDebugPrintErrorLevelLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeFileExplorerProtocol MdeModulePkg: Remove DXE_SAL_DRIVER 2025-10-30 10:00:32 +00:00
DxeIpmiLibIpmiProtocol MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxePerformanceLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxePrintLibPrint2Protocol MdeModulePkg: Remove DXE_SAL_DRIVER 2025-10-30 10:00:32 +00:00
DxeReportStatusCodeLib MdeModulePkg: DxeReportStatusCodeLib: Do not query protocol 2026-01-14 04:00:20 +00:00
DxeResetSystemLib MdeModulePkg: HOST_APPLICATION IA32/X64 only 2023-04-10 05:59:02 +00:00
DxeSecurityManagementLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
FileExplorerLib MdeModulePkg: Fix EFI_SUCCESS typos 2025-06-12 17:50:45 +00:00
FmpAuthenticationLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
FrameBufferBltLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
HobPrintLib MdeModulePkg HobPrintLib: Add Guid to Guids section. 2024-11-22 18:16:56 +00:00
ImagePropertiesRecordLib MdeModulePkg/ImagePropertiesRecordLib: Reduce debug level 2024-06-26 12:40:30 +00:00
LockBoxNullLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
LzmaCustomDecompressLib MdeModulePkg: Remove ARM32 Support 2025-09-25 22:04:10 +00:00
NonDiscoverableDeviceRegistrationLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
OemHookStatusCodeLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PciHostBridgeLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiCrc32GuidedSectionExtractLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiDebugLibDebugPpi MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiDebugPrintHobLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiDxeDebugLibReportStatusCode edk2/MdeModulePkg/Debuglib: Add Standalone MM support 2022-03-02 02:34:00 +00:00
PeiIpmiLibIpmiPpi MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiPerformanceLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiReportStatusCodeLib MdeModulePkg/Include: Long debug string is truncated to 104 char 2022-07-23 03:12:49 +00:00
PeiResetSystemLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PiDxeS3BootScriptLib MdeModulePkg: fix various typos 2025-11-21 21:49:59 +00:00
PiSmmCoreMemoryAllocationLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PiSmmCoreSmmServicesTableLib MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PlatformBootManagerLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PlatformHookLibSerialPortPpi MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PlatformVarCleanupLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ResetUtilityLib MdeModulePkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
RuntimeDxeReportStatusCodeLib MdeModulePkg/Include: Long debug string is truncated to 104 char 2022-07-23 03:12:49 +00:00
RuntimeResetSystemLib MdeModulePkg/RuntimeResetSystemLib: Make global static 2024-07-12 02:03:12 +00:00
SmmCorePerformanceLib MdeModulePkg: Refactor MM Services Tables linked in MM Core Perf Lib 2025-06-13 06:44:38 +00:00
SmmCorePlatformHookLibNull MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmIpmiLibSmmIpmiProtocol MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmLockBoxLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmMemoryAllocationProfileLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmPerformanceLib MdeModulePkg: Add Standalone MM perf library support 2025-03-21 15:23:11 +00:00
SmmReportStatusCodeLib MdeModulePkg/StandaloneMmReportStatusCodeLib: Support MM_CORE_STANDALONE 2024-07-05 14:52:00 +00:00
SmmSmiHandlerProfileLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TdxMeasurementLibNull MdeModulePkg: Move TdxMeasurementLib from UefiCpuPkg 2025-03-18 17:57:40 +00:00
TpmMeasurementLibNull MdeModulePkg/TpmMeasurementLibNull: Allow broader linking 2025-06-05 10:05:24 +08:00
TraceHubDebugSysTLib MdeModulePkg/TraceHubDebugSysTLib: Use wider type for loop comparisons 2024-02-26 23:13:08 +00:00
UefiBootManagerLib MdeModulePkg: UefiBootManagerLib Change default alignment for ramdisk boot. 2025-08-06 08:59:25 +08:00
UefiHiiLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiHiiServicesLib MdeModulePkg: Remove DXE_SAL_DRIVER 2025-10-30 10:00:32 +00:00
UefiMemoryAllocationProfileLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiSortLib MdeModulePkg: Apply uncrustify formatting to relevant files. 2023-10-27 00:50:49 +00:00
VarCheckHiiLib MdeModulePkg/VarCheckHiiLib: clean up VarCheckHiiLibReceiveHiiBinHandler 2025-03-19 14:18:12 +00:00
VarCheckLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
VarCheckPcdLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
VarCheckPolicyLib MdeModulePkg/VarCheckPolicyLib: Fix buffer valid check for MM 2024-07-07 08:40:03 +00:00
VarCheckUefiLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
VariablePolicyHelperLib MdeModulePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
VariablePolicyLib MdeModulePkg: Correct spelling errors and typos 2025-07-04 09:41:47 +08:00