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;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to