grub_error framework. All users updated.
+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
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);
}
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))
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'. */
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
found_addr = target;
return 1;
}
+ grub_print_error ();
}
/* Target below the memory chunk. */
if (target < addr && addr + size <= end)
found_addr = addr;
return 1;
}
+ grub_print_error ();
}
return 0;
}
(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,