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

Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
v2:
        no change
---
 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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to