grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/1] efi: device-tree must be in EfiACPIReclaimMemory


From: Heinrich Schuchardt
Subject: [PATCH 1/1] efi: device-tree must be in EfiACPIReclaimMemory
Date: Fri, 29 Jan 2021 16:28:53 +0100

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>
---
 grub-core/loader/efi/fdt.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c
index ee9c5592c..57ee81686 100644
--- a/grub-core/loader/efi/fdt.c
+++ b/grub-core/loader/efi/fdt.c
@@ -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;

--
2.29.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]