]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 4 Feb 2012 13:00:23 +0000 (14:00 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 4 Feb 2012 13:00:23 +0000 (14:00 +0100)
grub_error framework. All users updated.

ChangeLog
grub-core/kern/ieee1275/init.c
grub-core/kern/ieee1275/openfw.c
grub-core/lib/ieee1275/relocator.c
grub-core/loader/powerpc/ieee1275/linux.c
include/grub/ieee1275/ieee1275.h

index 864aa727106126293c84fb09732799b1f4c45cf2..1d88c4cf2464ef3e76b8100c6f2f3d970750c1d4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
+       grub_error framework. All users updated.
+
 2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
index 76f932d099d2c2be15d0a10668645d893c93e393..bf59dc822a7297065959f14177631fb90a450ed5 100644 (file)
@@ -192,11 +192,11 @@ grub_claim_heap (void)
 
     if (len)
       {
+       grub_err_t err;
        /* Claim and use it.  */
-       if (grub_claimmap (addr, len) < 0)
-         return grub_error (GRUB_ERR_OUT_OF_MEMORY,
-                            "failed to claim heap at 0x%llx, len 0x%llx",
-                            addr, len);
+       err = grub_claimmap (addr, len);
+       if (err)
+         return err;
        grub_mm_init_region ((void *) (grub_addr_t) addr, len);
       }
 
index 1dc932e49604b59168822841c1ac7aace1e02dcc..caf820df5b4b889129782f17c2582fc8bac10bb3 100644 (file)
@@ -255,7 +255,7 @@ grub_ieee1275_map (grub_addr_t phys, grub_addr_t virt, grub_size_t size,
   return args.catch_result;
 }
 
-int
+grub_err_t
 grub_claimmap (grub_addr_t addr, grub_size_t size)
 {
   if (grub_ieee1275_claim (addr, size, 0, 0))
@@ -264,13 +264,13 @@ grub_claimmap (grub_addr_t addr, grub_size_t size)
   if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_REAL_MODE)
       && grub_ieee1275_map (addr, addr, size, 0x00))
     {
-      grub_printf ("map failed: address 0x%llx, size 0x%llx\n",
-                  (long long) addr, (long long) size);
+      grub_error (GRUB_ERR_OUT_OF_MEMORY, "map failed: address 0x%llx, size 0x%llx\n",
+                 (long long) addr, (long long) size);
       grub_ieee1275_release (addr, size);
-      return -1;
+      return grub_errno;
     }
 
-  return 0;
+  return GRUB_ERR_NONE;
 }
 
 /* Get the device arguments of the Open Firmware node name `path'.  */
index c09f1e9c572ec776a53e92880a03c78e24fca098..021f0ce71f4c5726784cb7bab4c726503f625684 100644 (file)
@@ -85,7 +85,10 @@ grub_relocator_firmware_fill_events (struct grub_relocator_mmap_event *events)
 int
 grub_relocator_firmware_alloc_region (grub_addr_t start, grub_size_t size)
 {
-  return (grub_claimmap (start, size) >= 0);
+  grub_err_t err;
+  err = grub_claimmap (start, size);
+  grub_errno = 0;
+  return (err == 0);
 }
 
 void
index b0af5f75df0917ee84651658b7aa74301d3f67e0..1ec3a4d968e7ea731480bd0fbe42521f25a8d530 100644 (file)
@@ -76,6 +76,7 @@ grub_linux_claimmap_iterate (grub_addr_t target, grub_size_t size,
            found_addr = target;
            return 1;
          }
+       grub_print_error ();
       }
     /* Target below the memory chunk.  */
     if (target < addr && addr + size <= end)
@@ -85,6 +86,7 @@ grub_linux_claimmap_iterate (grub_addr_t target, grub_size_t size,
            found_addr = addr;
            return 1;
          }
+       grub_print_error ();
       }
     return 0;
   }
index 647374d0e89b7156ec99dd26004c5c17e7a46b82..fb85db9f1001ecda90d888155920d7182e1ba7b5 100644 (file)
@@ -186,7 +186,7 @@ int EXPORT_FUNC(grub_devalias_iterate)
      (int (*hook) (struct grub_ieee1275_devalias *alias));
 int EXPORT_FUNC(grub_children_iterate) (const char *devpath,
      int (*hook) (struct grub_ieee1275_devalias *alias));
-int EXPORT_FUNC(grub_claimmap) (grub_addr_t addr, grub_size_t size);
+grub_err_t EXPORT_FUNC(grub_claimmap) (grub_addr_t addr, grub_size_t size);
 
 int
 EXPORT_FUNC(grub_ieee1275_map) (grub_addr_t phys, grub_addr_t virt,