summaryrefslogtreecommitdiff
path: root/BaseTools/Source/Python
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2024-11-28 12:05:37 +0100
committerLiming Gao <gaoliming@byosoft.com.cn>2024-12-06 08:33:53 +0800
commite8668d2dee2f001a053d9e50f431e2f1f8165b8b (patch)
tree48f837cb05446cc3af84f2cb11434b541bbd336e /BaseTools/Source/Python
parent47e28a6d449c51f10d89e961c3c1afcfdfd99668 (diff)
downloadedk2-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