diff options
| author | Tom Rini <[email protected]> | 2025-01-26 08:10:28 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-01-26 08:10:28 -0600 |
| commit | 8a2a71a4eec7afdca6377ee46b1ed7e78ec692c9 (patch) | |
| tree | 460b9a426fc254b7fd9f4048dabccfb54822ba02 /include/efi_loader.h | |
| parent | 292278d6828e6c8c6ae11bc8658586d1acc411d4 (diff) | |
| parent | 21de624eb89c647a21b06a5b0f5b186838be1d17 (diff) | |
Merge tag 'efi-2025-04-rc1-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2025-04-rc1-2
Documentation:
* describe creating a pflash file for qemu-system-riscv64
UEFI:
* correct logging StartImage()
* use LOGC_EFI consistently
* reduce UEFI size if HAS_BOARD_SIZE_LIMIT=y
* Update efi_run_image() to accept image and device path
* Add a version of efi_binary_run() with more parameters
* Move the fallback code from efi_run_image()
* Pass in the required parameters from EFI bootmeth
* bootmeth_efi: Support PXE booting
Other:
* Enable log filtering by function name
Diffstat (limited to 'include/efi_loader.h')
| -rw-r--r-- | include/efi_loader.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h index 0d858c1e12e..dcae6a731a0 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -20,6 +20,7 @@ #include <linux/oid_registry.h> struct blk_desc; +struct bootflow; struct jmp_buf_data; #if CONFIG_IS_ENABLED(EFI_LOADER) @@ -245,6 +246,18 @@ const char *__efi_nesting_dec(void); _r; \ }) +/** + * define EFI_RETURN() - return from EFI_CALL in efi_start_image() + * + * @ret: status code + */ +#define EFI_RETURN(ret) ({ \ + typeof(ret) _r = ret; \ + assert(__efi_entry_check()); \ + debug("%sEFI: %lu returned by started image", __efi_nesting_dec(), \ + (unsigned long)((uintptr_t)_r & ~EFI_ERROR_MASK)); \ +}) + /* * Call void UEFI function from u-boot: */ @@ -578,6 +591,15 @@ efi_status_t efi_install_fdt(void *fdt); efi_status_t do_bootefi_exec(efi_handle_t handle, void *load_options); /* Run loaded UEFI image with given fdt */ efi_status_t efi_binary_run(void *image, size_t size, void *fdt); + +/** + * efi_bootflow_run() - Run a bootflow containing an EFI application + * + * @bootflow: Bootflow to run + * Return: Status code, something went wrong + */ +efi_status_t efi_bootflow_run(struct bootflow *bootflow); + /* Initialize variable services */ efi_status_t efi_init_variables(void); /* Notify ExitBootServices() is called */ |
