diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2024-11-28 12:05:37 +0100 |
---|---|---|
committer | Liming Gao <gaoliming@byosoft.com.cn> | 2024-12-06 08:33:53 +0800 |
commit | e8668d2dee2f001a053d9e50f431e2f1f8165b8b (patch) | |
tree | 48f837cb05446cc3af84f2cb11434b541bbd336e /BaseTools/Source/Python | |
parent | 47e28a6d449c51f10d89e961c3c1afcfdfd99668 (diff) | |
download | edk2-e8668d2dee2f001a053d9e50f431e2f1f8165b8b.zip edk2-e8668d2dee2f001a053d9e50f431e2f1f8165b8b.tar.gz edk2-e8668d2dee2f001a053d9e50f431e2f1f8165b8b.tar.bz2 |
MdeModulePkg/DxeCore: Call BeforeExitBootServices event group only once
According to UEFI spec 2.10 errata A section 7.4.6
"All events from the EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES and
EFI_EVENT_GROUP_EXIT_BOOT_SERVICES event notification groups as well
as events of type EVT_SIGNAL_EXIT_BOOT_SERVICES must be signaled
before ExitBootServices() returns EFI_SUCCESS. The events are only
signaled once even if ExitBootServices() is called multiple times."
So keep track of whether ExitBootServices() has been called, and signal
the event group EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES only the first
time around.
EFI_EVENT_GROUP_EXIT_BOOT_SERVICES will only be signalled if
ExitBootServices() is going to run to [successful] completion, after
which calling it a second time is not possible anyway. So for this case,
no special handling is needed.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'BaseTools/Source/Python')
0 files changed, 0 insertions, 0 deletions