From bacb8f911f6ec25dd4e17964533b90826397009d Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Sun, 21 Feb 2016 00:05:38 +0100 Subject: [PATCH] coreboot --- grub-core/kern/arm/coreboot/init.c | 2 +- grub-core/kern/arm/coreboot/timer.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/grub-core/kern/arm/coreboot/init.c b/grub-core/kern/arm/coreboot/init.c index 9796c721f..7ea7cf183 100644 --- a/grub-core/kern/arm/coreboot/init.c +++ b/grub-core/kern/arm/coreboot/init.c @@ -71,7 +71,7 @@ heap_init (grub_uint64_t addr, grub_uint64_t size, grub_memory_type_t type, if (modend && begin < modend) begin = modend; - + if (end <= begin) return 0; diff --git a/grub-core/kern/arm/coreboot/timer.c b/grub-core/kern/arm/coreboot/timer.c index 7848e3d00..c4c689c67 100644 --- a/grub-core/kern/arm/coreboot/timer.c +++ b/grub-core/kern/arm/coreboot/timer.c @@ -49,12 +49,13 @@ sp804_get_time_ms (void) } static grub_err_t -sp804_attach(const void *fdt, unsigned int nodeoffset) +sp804_attach(const struct grub_fdtbus_dev *dev) { if (have_timer) return GRUB_ERR_NONE; - const grub_uint32_t *reg = grub_fdt_get_prop (fdt, nodeoffset, "reg", 0); - sp804_regs = (void *) grub_be_to_cpu32 (*reg); + sp804_regs = grub_fdtbus_map_reg (dev, 0, 0); + if (!grub_fdtbus_is_mapping_valid (sp804_regs)) + return grub_error (GRUB_ERR_IO, "could not map sp804: %p", sp804_regs); grub_install_get_time_ms (sp804_get_time_ms); have_timer = 1; return GRUB_ERR_NONE; -- 2.47.2