Pass a pointer to a memory mapped initrd and its size to
efi_binary_run. The EFI stack will register an EFI_LOAD_FILE2_PROTOCOL
for the next boot stage to access this initrd.

Signed-off-by: Adriano Cordova <adriano.cord...@canonical.com>
---
 boot/bootm_os.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/boot/bootm_os.c b/boot/bootm_os.c
index f403f352be1..35a32f8c912 100644
--- a/boot/bootm_os.c
+++ b/boot/bootm_os.c
@@ -508,7 +508,8 @@ static int do_bootm_efi(int flag, struct bootm_info *bmi)
        ret = efi_binary_run(image_buf, images->os.image_len,
                             images->ft_len
                             ? images->ft_addr : EFI_FDT_USE_INTERNAL,
-                                NULL, 0);
+                                (void *)images->initrd_start,
+                                (size_t)(images->initrd_end - 
images->initrd_start));
 
        return ret;
 }
-- 
2.48.1

Reply via email to