svn commit: r293244 - in head/sys/boot/efi: boot1 include loader loader/arch/amd64
Ed Maste
emaste at FreeBSD.org
Wed Jan 6 19:15:17 UTC 2016
Author: emaste
Date: Wed Jan 6 19:15:16 2016
New Revision: 293244
URL: https://svnweb.freebsd.org/changeset/base/293244
Log:
Introduce and use new EFI_ERROR_CODE macro for EFI errors
Submitted by: smh
MFC after: 1 week
Modified:
head/sys/boot/efi/boot1/boot1.c
head/sys/boot/efi/include/efierr.h
head/sys/boot/efi/loader/arch/amd64/framebuffer.c
head/sys/boot/efi/loader/bootinfo.c
head/sys/boot/efi/loader/copy.c
Modified: head/sys/boot/efi/boot1/boot1.c
==============================================================================
--- head/sys/boot/efi/boot1/boot1.c Wed Jan 6 17:53:51 2016 (r293243)
+++ head/sys/boot/efi/boot1/boot1.c Wed Jan 6 19:15:16 2016 (r293244)
@@ -331,20 +331,20 @@ load(const char *fname)
buffer, bufsize, &loaderhandle);
if (EFI_ERROR(status))
printf("LoadImage failed with error %lu\n",
- status & ~EFI_ERROR_MASK);
+ EFI_ERROR_CODE(status));
status = systab->BootServices->HandleProtocol(loaderhandle,
&LoadedImageGUID, (VOID**)&loaded_image);
if (EFI_ERROR(status))
printf("HandleProtocol failed with error %lu\n",
- status & ~EFI_ERROR_MASK);
+ EFI_ERROR_CODE(status));
loaded_image->DeviceHandle = bootdevhandle;
status = systab->BootServices->StartImage(loaderhandle, NULL, NULL);
if (EFI_ERROR(status))
printf("StartImage failed with error %lu\n",
- status & ~EFI_ERROR_MASK);
+ EFI_ERROR_CODE(status));
}
static void
Modified: head/sys/boot/efi/include/efierr.h
==============================================================================
--- head/sys/boot/efi/include/efierr.h Wed Jan 6 17:53:51 2016 (r293243)
+++ head/sys/boot/efi/include/efierr.h Wed Jan 6 19:15:16 2016 (r293244)
@@ -30,7 +30,8 @@ Revision History
#define EFIWARN(a) (a)
-#define EFI_ERROR(a) (((INTN) a) < 0)
+#define EFI_ERROR(a) (((INTN) a) < 0)
+#define EFI_ERROR_CODE(a) (a & ~EFI_ERROR_MASK)
#define EFI_SUCCESS 0
Modified: head/sys/boot/efi/loader/arch/amd64/framebuffer.c
==============================================================================
--- head/sys/boot/efi/loader/arch/amd64/framebuffer.c Wed Jan 6 17:53:51 2016 (r293243)
+++ head/sys/boot/efi/loader/arch/amd64/framebuffer.c Wed Jan 6 19:15:16 2016 (r293244)
@@ -178,7 +178,7 @@ efifb_uga_find_pixel(EFI_UGA_DRAW_PROTOC
printf("No change detected in frame buffer");
fail:
- printf(" -- error %lu\n", status & ~EFI_ERROR_MASK);
+ printf(" -- error %lu\n", EFI_ERROR_CODE(status));
free(data1);
return (-1);
}
@@ -473,7 +473,7 @@ command_gop(int argc, char *argv[])
status = BS->LocateProtocol(&gop_guid, NULL, (VOID **)&gop);
if (EFI_ERROR(status)) {
sprintf(command_errbuf, "%s: Graphics Output Protocol not "
- "present (error=%lu)", argv[0], status & ~EFI_ERROR_MASK);
+ "present (error=%lu)", argv[0], EFI_ERROR_CODE(status));
return (CMD_ERROR);
}
@@ -494,7 +494,7 @@ command_gop(int argc, char *argv[])
if (EFI_ERROR(status)) {
sprintf(command_errbuf, "%s: Unable to set mode to "
"%u (error=%lu)", argv[0], mode,
- status & ~EFI_ERROR_MASK);
+ EFI_ERROR_CODE(status));
return (CMD_ERROR);
}
} else if (!strcmp(argv[1], "get")) {
@@ -541,7 +541,7 @@ command_uga(int argc, char *argv[])
status = BS->LocateProtocol(&uga_guid, NULL, (VOID **)&uga);
if (EFI_ERROR(status)) {
sprintf(command_errbuf, "%s: UGA Protocol not present "
- "(error=%lu)", argv[0], status & ~EFI_ERROR_MASK);
+ "(error=%lu)", argv[0], EFI_ERROR_CODE(status));
return (CMD_ERROR);
}
Modified: head/sys/boot/efi/loader/bootinfo.c
==============================================================================
--- head/sys/boot/efi/loader/bootinfo.c Wed Jan 6 17:53:51 2016 (r293243)
+++ head/sys/boot/efi/loader/bootinfo.c Wed Jan 6 19:15:16 2016 (r293244)
@@ -290,7 +290,7 @@ bi_load_efi_data(struct preloaded_file *
pages, &addr);
if (EFI_ERROR(status)) {
printf("%s: AllocatePages error %lu\n", __func__,
- (unsigned long)(status & ~EFI_ERROR_MASK));
+ EFI_ERROR_CODE(status));
return (ENOMEM);
}
@@ -306,7 +306,7 @@ bi_load_efi_data(struct preloaded_file *
status = BS->GetMemoryMap(&sz, mm, &efi_mapkey, &mmsz, &mmver);
if (EFI_ERROR(status)) {
printf("%s: GetMemoryMap error %lu\n", __func__,
- (unsigned long)(status & ~EFI_ERROR_MASK));
+ EFI_ERROR_CODE(status));
return (EINVAL);
}
status = BS->ExitBootServices(IH, efi_mapkey);
@@ -320,8 +320,7 @@ bi_load_efi_data(struct preloaded_file *
}
BS->FreePages(addr, pages);
}
- printf("ExitBootServices error %lu\n",
- (unsigned long)(status & ~EFI_ERROR_MASK));
+ printf("ExitBootServices error %lu\n", EFI_ERROR_CODE(status));
return (EINVAL);
}
Modified: head/sys/boot/efi/loader/copy.c
==============================================================================
--- head/sys/boot/efi/loader/copy.c Wed Jan 6 17:53:51 2016 (r293243)
+++ head/sys/boot/efi/loader/copy.c Wed Jan 6 19:15:16 2016 (r293244)
@@ -56,7 +56,7 @@ efi_copy_init(void)
STAGE_PAGES, &staging);
if (EFI_ERROR(status)) {
printf("failed to allocate staging area: %lu\n",
- (unsigned long)(status & EFI_ERROR_MASK));
+ EFI_ERROR_CODE(status));
return (status);
}
staging_end = staging + STAGE_PAGES * EFI_PAGE_SIZE;
More information about the svn-src-all
mailing list