mirror of
https://github.com/ipxe/ipxe
synced 2025-12-31 15:25:23 +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:
@@ -53,8 +53,8 @@ static void efi_udelay ( unsigned long usecs ) {
|
||||
EFI_STATUS efirc;
|
||||
|
||||
if ( ( efirc = bs->Stall ( usecs ) ) != 0 ) {
|
||||
DBG ( "EFI could not delay for %ldus: %x\n",
|
||||
usecs, efirc );
|
||||
DBG ( "EFI could not delay for %ldus: %s\n",
|
||||
usecs, efi_strerror ( efirc ) );
|
||||
/* Probably screwed */
|
||||
}
|
||||
}
|
||||
@@ -71,7 +71,8 @@ static unsigned long efi_currticks ( void ) {
|
||||
/* Read CPU timer 0 (TSC) */
|
||||
if ( ( efirc = cpu_arch->GetTimerValue ( cpu_arch, 0, &time,
|
||||
NULL ) ) != 0 ) {
|
||||
DBG ( "EFI could not read CPU timer: %x\n", efirc );
|
||||
DBG ( "EFI could not read CPU timer: %s\n",
|
||||
efi_strerror ( efirc ) );
|
||||
/* Probably screwed */
|
||||
return -1UL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user