efi_loader: correct logging StartImage()

When logging running an image, e.g. `bootefi hello` the indent is not
correctly reset.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Heinrich Schuchardt 2025-01-17 01:09:51 +01:00
parent 292278d682
commit 9f00d38ce7
2 changed files with 15 additions and 4 deletions

View file

@ -245,6 +245,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:
*/

View file

@ -3256,11 +3256,10 @@ efi_status_t EFIAPI efi_start_image(efi_handle_t image_handle,
* To get ready to call EFI_EXIT below we have to execute the
* missed out steps of EFI_CALL.
*/
assert(__efi_entry_check());
EFI_PRINT("%lu returned by started image\n",
(unsigned long)((uintptr_t)exit_status &
~EFI_ERROR_MASK));
EFI_RETURN(exit_status);
current_image = parent_image;
return EFI_EXIT(exit_status);
}