edk2/MdeModulePkg/Universal
Tan, Ming d4945b1027 MdeModulePkg/Universal/StatusCodeHandler: Fix a bug about log lost
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3126

1. If use PeiDxeDebugLibReportStatusCode as DebugLib, then some logs
after ExitBootService() will be lost.
2. The root cause:
2.1 The original code will register an unregister function
of gEfiEventExitBootServicesGuid, this unregister function will call
EFI_RSC_HANDLER_PROTOCOL->Unregister and does not support log through
serial port.
2.2 And some other drivers also register call back funtions of
gEfiEventExitBootServicesGuid.
2.3 Then after the unregister function is called, other call back
functions can't out log if them use RSC as DebugLib.
3. The DxeMain will report status code EFI_SW_BS_PC_EXIT_BOOT_SERVICES
after notify all the call back functions of
gEfiEventExitBootServicesGuid.
4. Solution: the StatusCodeHandlerRuntimeDxe.c will not register an
unregister function of gEfiEventExitBootServicesGuid, but unregister it
after receive the status code of EFI_SW_BS_PC_EXIT_BOOT_SERVICES.

Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Ming Tan <ming.tan@intel.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Reviewed-by: Dandan Bi <dandan.bi@intel.com>
2020-12-22 08:23:51 +00:00
..
Acpi MdeModulePkg/AcpiTableDxe: use pool allocation for RSDP if possible 2020-10-30 14:50:33 +00:00
BdsDxe MdeModulePkg/BdsDxe: Fix spelling mistake 2020-08-03 19:06:05 +00:00
BootManagerPolicyDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
CapsuleOnDiskLoadPei MdeModulePkg: Add CapsuleOnDiskLoadPei PEIM. 2019-06-26 15:10:42 +08:00
CapsulePei MdeModulePkg: Add missing header files in INF files 2019-08-13 17:16:14 +08:00
CapsuleRuntimeDxe MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 architecture 2020-05-07 03:17:15 +00:00
Console MdeModulePkg: Fix spelling mistake for occurred 2020-08-19 00:54:23 +00:00
DebugPortDxe MdeModulePkg: Fix spelling mistake for occurred 2020-08-19 00:54:23 +00:00
DebugServicePei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DebugSupportDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DevicePathDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Disk Revert "MdeModulePkg/PartitionDxe: Fix the incorrect LBA size in child ..." 2020-10-20 06:12:12 +00:00
DisplayEngineDxe MdeModulePkg DisplayEngineDxe: Correct the local variable name. 2020-11-12 14:32:44 +00:00
DriverHealthManagerDxe MdeModulePkg: strip trailing whitespace 2019-10-04 11:18:32 +01:00
DriverSampleDxe MdeModulePkg/DriverSampleDxe: Add HII sample options 2020-11-11 00:53:00 +00:00
EbcDxe MdeModulePkg/EbcDxe: Fix spelling mistake 2020-08-03 18:30:35 +00:00
EsrtDxe MdeModulePkg/EsrtDxe: Add check for EsrtRepository 2019-11-06 13:26:21 +08:00
EsrtFmpDxe MdeModulePkg/EsrtFmpDxe: Enhance ESRT to support multiple controllers 2019-08-07 13:18:32 +08:00
FaultTolerantWriteDxe MdeModulePkg/FaultTolerantWriteSmmDxe: switch to MM communicate 2 2020-05-12 19:23:44 +00:00
FaultTolerantWritePei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
FileExplorerDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
FvSimpleFileSystemDxe MdeModulePkg: Fix spelling mistake for occurred 2020-08-19 00:54:23 +00:00
HiiDatabaseDxe MdeModulePkg/HiiDatabase: Do not modify CONST string 2020-10-07 04:20:56 +00:00
HiiResourcesSampleDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
LegacyRegion2Dxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
LoadFileOnFv2 MdeModulePkg: Fix spelling mistake for occurred 2020-08-19 00:54:23 +00:00
LockBox/SmmLockBox MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
MemoryTest MdeModulePkg: Fix spelling mistake for occurred 2020-08-19 00:54:23 +00:00
Metronome MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
MonotonicCounterRuntimeDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PCD MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PcatSingleSegmentPciCfg2Pei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PlatformDriOverrideDxe MdeModulePkg/PlatformDriOverride: Unload image on EFI_SECURITY_VIOLATION 2019-09-25 10:03:57 +08:00
PrintDxe MdeModulePkg: Remove code wrapped by DISABLE_NEW_DEPRECATED_INTERFACES 2020-10-13 01:35:03 +00:00
RegularExpressionDxe MdeModulePkg: Fix SetMem parameter in OnigurumaUefiPort 2020-12-14 02:11:33 +00:00
ReportStatusCodeRouter MdeModulePkg/ReportStatusCodeRouter: Update RSC Data on reallocation 2020-04-21 02:20:51 +00:00
ResetSystemPei MdeModulePkg/ResetSystemPei: Change comments of ResetSystem2 2019-04-28 09:40:15 +08:00
ResetSystemRuntimeDxe MdeModulePkg/ResetSystemRuntimeDxe: Change comments 2019-04-28 09:40:15 +08:00
SectionExtractionDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SectionExtractionPei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SecurityStubDxe MdeModulePkg/SecurityStubDxe: Mark the File parameter as OPTIONAL 2020-04-22 01:55:34 +00:00
SerialDxe MdeModulePkg SerialDxe.inf: Fix wrong FILE_GUID format 2019-09-17 15:10:25 +08:00
SetupBrowserDxe MdeModulePkg/SetupBrowserDxe: Do not reconnect driver with form-update 2020-06-10 04:25:47 +00:00
SmbiosDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SmbiosMeasurementDxe MdeModulePkg/Smbios: Add TCG PFP rev 105 support. 2020-01-06 06:23:19 +00:00
SmmCommunicationBufferDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
StatusCodeHandler MdeModulePkg/Universal/StatusCodeHandler: Fix a bug about log lost 2020-12-22 08:23:51 +00:00
TimestampDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Variable MdeModulePkg/Variable/RuntimeDxe: Add Variable Lock Protocol Unit Tests 2020-12-15 06:26:34 +00:00
WatchdogTimerDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00