"qemu-system-arm -M virt" devicetree is > 64k. Make sure we have enough space for it.
Signed-off-by: Gerd Hoffmann <[email protected]> --- grub-core/loader/arm/linux.c | 2 ++ include/grub/arm/linux.h | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c index 106cfc3..5ac0014 100644 --- a/grub-core/loader/arm/linux.c +++ b/grub-core/loader/arm/linux.c @@ -49,9 +49,11 @@ typedef void (*kernel_entry_t) (int, unsigned long, void *); #define LINUX_ZIMAGE_OFFSET 0x24 #define LINUX_ZIMAGE_MAGIC 0x016f2818 +#if 0 /* declared in include/grub/arm/linux.h */ #define LINUX_PHYS_OFFSET (0x00008000) #define LINUX_INITRD_PHYS_OFFSET (LINUX_PHYS_OFFSET + 0x02000000) #define LINUX_FDT_PHYS_OFFSET (LINUX_INITRD_PHYS_OFFSET - 0x10000) +#endif static grub_size_t get_atag_size (grub_uint32_t *atag) diff --git a/include/grub/arm/linux.h b/include/grub/arm/linux.h index 059dbba..deb8a9c 100644 --- a/include/grub/arm/linux.h +++ b/include/grub/arm/linux.h @@ -37,9 +37,9 @@ # include <grub/machine/loader.h> /* On UEFI platforms - load the images at the lowest available address not less than *_PHYS_OFFSET from the first available memory location. */ -# define LINUX_PHYS_OFFSET (0x00008000) +# define LINUX_PHYS_OFFSET (0x00020000) # define LINUX_INITRD_PHYS_OFFSET (LINUX_PHYS_OFFSET + 0x02000000) -# define LINUX_FDT_PHYS_OFFSET (LINUX_INITRD_PHYS_OFFSET - 0x10000) +# define LINUX_FDT_PHYS_OFFSET (LINUX_INITRD_PHYS_OFFSET - 0x20000) static inline grub_addr_t grub_arm_firmware_get_boot_data (void) { -- 1.8.3.1 _______________________________________________ Bug-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-grub
