[U-Boot] [PATCH 2/9] efi_loader: fix efi_find_free_memory()

Heinrich Schuchardt xypron.glpk at gmx.de
Sat Nov 10 19:27:20 UTC 2018


In efi_find_free_memory() the sandbox uses its virtual address space.
Add the missing mapping.

Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 lib/efi_loader/efi_memory.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
index dc282fe249f..c0277355056 100644
--- a/lib/efi_loader/efi_memory.c
+++ b/lib/efi_loader/efi_memory.c
@@ -294,6 +294,9 @@ static uint64_t efi_find_free_memory(uint64_t len, uint64_t max_addr)
 {
 	struct list_head *lhandle;
 
+	/* Map to virtual address on sandbox */
+	max_addr = map_to_sysmem((void *)(uintptr_t)max_addr);
+
 	/*
 	 * Prealign input max address, so we simplify our matching
 	 * logic below and can just reuse it as return pointer.
-- 
2.19.1



More information about the U-Boot mailing list