mirror of
https://github.com/ipxe/ipxe
synced 2025-12-16 17:41:18 +03:00
[efi] Add efi_strerror()
EFI_STATUS is defined as an INTN, which maps to UINT32 (i.e. unsigned int) on i386 and UINT64 (i.e. unsigned long) on x86_64. This would require a cast each time the error status is printed. Add efi_strerror() to avoid this ickiness and simultaneously enable prettier reporting of EFI status codes.
This commit is contained in:
@@ -43,16 +43,16 @@ static int efi_image_exec ( struct image *image ) {
|
||||
user_to_virt ( image->data, 0 ),
|
||||
image->len, &handle ) ) != 0 ) {
|
||||
/* Not an EFI image */
|
||||
DBGC ( image, "EFIIMAGE %p could not load: %x\n",
|
||||
image, efirc );
|
||||
DBGC ( image, "EFIIMAGE %p could not load: %s\n",
|
||||
image, efi_strerror ( efirc ) );
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
/* Start the image */
|
||||
if ( ( efirc = bs->StartImage ( handle, &exit_data_size,
|
||||
&exit_data ) ) != 0 ) {
|
||||
DBGC ( image, "EFIIMAGE %p returned with status %x\n",
|
||||
image, efirc );
|
||||
DBGC ( image, "EFIIMAGE %p returned with status %s\n",
|
||||
image, efi_strerror ( efirc ) );
|
||||
goto done;
|
||||
}
|
||||
|
||||
@@ -81,8 +81,8 @@ static int efi_image_load ( struct image *image ) {
|
||||
user_to_virt ( image->data, 0 ),
|
||||
image->len, &handle ) ) != 0 ) {
|
||||
/* Not an EFI image */
|
||||
DBGC ( image, "EFIIMAGE %p could not load: %x\n",
|
||||
image, efirc );
|
||||
DBGC ( image, "EFIIMAGE %p could not load: %s\n",
|
||||
image, efi_strerror ( efirc ) );
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user