loader.efi: show EFI error number, not full status value

EFI return values set the high bit to indicate an error. The log
messages changed here are printed only in the case of an error,
so including the error bit is redundant. Also switch to decimal to
match the error definitions (in sys/boot/efi/include/efierr.h).

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
emaste 2015-12-18 17:39:54 +00:00
parent 80c240efb7
commit bd6c2ef4d9

View File

@ -250,8 +250,8 @@ bi_add_efi_data_and_exit(struct preloaded_file *kfp,
for (retry = 2; retry > 0; retry--) {
status = BS->GetMemoryMap(&sz, mm, &efi_mapkey, &mmsz, &mmver);
if (EFI_ERROR(status)) {
printf("%s: GetMemoryMap() returned 0x%lx\n", __func__,
(long)status);
printf("%s: GetMemoryMap error %lu\n", __func__,
(unsigned long)(status & ~EFI_ERROR_MASK));
return (EINVAL);
}
status = BS->ExitBootServices(IH, efi_mapkey);
@ -264,7 +264,8 @@ bi_add_efi_data_and_exit(struct preloaded_file *kfp,
return (0);
}
}
printf("ExitBootServices() returned 0x%lx\n", (long)status);
printf("ExitBootServices error %lu\n",
(unsigned long)(status & ~EFI_ERROR_MASK));
return (EINVAL);
}
@ -317,8 +318,8 @@ bi_load_efi_data(struct preloaded_file *kfp)
status = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, pages,
&addr);
if (EFI_ERROR(status)) {
printf("%s: AllocatePages() returned 0x%lx\n", __func__,
(long)status);
printf("%s: AllocatePages error %lu\n", __func__,
(unsigned long)(status & ~EFI_ERROR_MASK));
return (ENOMEM);
}