efi_loader: EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES
Implement the EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES event group handling. Add the definition of EFI_EVENT_GROUP_AFTER_READY_TO_BOOT. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
@@ -71,6 +71,9 @@ const efi_guid_t efi_guid_driver_binding_protocol =
|
||||
/* event group ExitBootServices() invoked */
|
||||
const efi_guid_t efi_guid_event_group_exit_boot_services =
|
||||
EFI_EVENT_GROUP_EXIT_BOOT_SERVICES;
|
||||
/* event group before ExitBootServices() invoked */
|
||||
const efi_guid_t efi_guid_event_group_before_exit_boot_services =
|
||||
EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES;
|
||||
/* event group SetVirtualAddressMap() invoked */
|
||||
const efi_guid_t efi_guid_event_group_virtual_address_change =
|
||||
EFI_EVENT_GROUP_VIRTUAL_ADDRESS_CHANGE;
|
||||
@@ -2123,6 +2126,16 @@ static efi_status_t EFIAPI efi_exit_boot_services(efi_handle_t image_handle,
|
||||
if (!systab.boottime)
|
||||
goto out;
|
||||
|
||||
/* Notify EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES event group. */
|
||||
list_for_each_entry(evt, &efi_events, link) {
|
||||
if (evt->group &&
|
||||
!guidcmp(evt->group,
|
||||
&efi_guid_event_group_before_exit_boot_services)) {
|
||||
efi_signal_event(evt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Stop all timer related activities */
|
||||
timers_enabled = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user