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; \ _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: * 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 * To get ready to call EFI_EXIT below we have to execute the
* missed out steps of EFI_CALL. * missed out steps of EFI_CALL.
*/ */
assert(__efi_entry_check()); EFI_RETURN(exit_status);
EFI_PRINT("%lu returned by started image\n",
(unsigned long)((uintptr_t)exit_status &
~EFI_ERROR_MASK));
current_image = parent_image; current_image = parent_image;
return EFI_EXIT(exit_status); return EFI_EXIT(exit_status);
} }