mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
efi_loader: Add exit support
Some times you may want to exit an EFI payload again, for example to default boot into a PXE installation and decide that you would rather want to boot from the local disk instead. This patch adds exit functionality to the EFI implementation, allowing EFI payloads to exit. Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
@@ -209,6 +209,12 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt)
|
||||
#ifdef DEBUG_EFI
|
||||
printf("%s:%d Jumping to 0x%lx\n", __func__, __LINE__, (long)entry);
|
||||
#endif
|
||||
|
||||
if (setjmp(&loaded_image_info.exit_jmp)) {
|
||||
efi_status_t status = loaded_image_info.exit_status;
|
||||
return status == EFI_SUCCESS ? 0 : -EINVAL;
|
||||
}
|
||||
|
||||
return entry(&loaded_image_info, &systab);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user