arm64/efi: Fix grub_efi_get_ram_base()
grub_efi_get_ram_base() looks for the lowest available RAM address by traversing the memory map, comparing lowest address found so far. Due to a brain glitch, that "so far" was initialized to GRUB_UINT_MAX - completely preventing boot on systems without RAM below 4GB. Change the initial value to GRUB_EFI_MAX_USABLE_ADDRESS, as originally intended. Reported-by: Steve McIntyre <93sam@debian.org> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Tested-by: Steve McIntyre <93sam@debian.org> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
d3a3543a56
commit
566b16a0dc
1 changed files with 1 additions and 1 deletions
|
@ -653,7 +653,7 @@ grub_efi_get_ram_base(grub_addr_t *base_addr)
|
||||||
if (ret < 1)
|
if (ret < 1)
|
||||||
return GRUB_ERR_BUG;
|
return GRUB_ERR_BUG;
|
||||||
|
|
||||||
for (desc = memory_map, *base_addr = GRUB_UINT_MAX;
|
for (desc = memory_map, *base_addr = GRUB_EFI_MAX_USABLE_ADDRESS;
|
||||||
(grub_addr_t) desc < ((grub_addr_t) memory_map + memory_map_size);
|
(grub_addr_t) desc < ((grub_addr_t) memory_map + memory_map_size);
|
||||||
desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size))
|
desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size))
|
||||||
if (desc->attribute & GRUB_EFI_MEMORY_WB)
|
if (desc->attribute & GRUB_EFI_MEMORY_WB)
|
||||||
|
|
Loading…
Reference in a new issue