efi: The device-tree must be in EfiACPIReclaimMemory

According to the Embedded Base Boot Requirements (EBBR) specification the
device-tree passed to Linux as a configuration table must reside in
EfiACPIReclaimMemory.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Heinrich Schuchardt authored and Daniel Kiper committed 2021-03-02 17:39:42 +01:00
1 parent 0860abe130
commit 30858eb59a
1 file changed
+5 -1
+5 -1
View File
@@ -25,6 +25,7 @@
#include <grub/efi/efi.h>
#include <grub/efi/fdtload.h>
#include <grub/efi/memory.h>
#include <grub/cpu/efi/memory.h>
static void *loaded_fdt;
static void *fdt;
@@ -60,7 +61,10 @@ grub_fdt_load (grub_size_t additional_size)
size += additional_size;
grub_dprintf ("linux", "allocating %d bytes for fdt\n", size);
fdt = grub_efi_allocate_any_pages (GRUB_EFI_BYTES_TO_PAGES (size));
fdt = grub_efi_allocate_pages_real (GRUB_EFI_MAX_USABLE_ADDRESS,
GRUB_EFI_BYTES_TO_PAGES (size),
GRUB_EFI_ALLOCATE_MAX_ADDRESS,
GRUB_EFI_ACPI_RECLAIM_MEMORY);
if (!fdt)
return NULL;