efi_loader: simplify running helloworld.efi
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Tue, 12 Jan 2021 16:44:08 +0000 (17:44 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Wed, 13 Jan 2021 01:38:00 +0000 (02:38 +0100)
Currently when executing 'bootefi hello' we copy helloworld.efi to the
address identified by environment variable loadaddr. This is unexected
behavior for a user. There is no need to copy helloworld.efi before
executing it after relocation.

Remove the copy action.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
cmd/bootefi.c

index fdf909f..c82a5ba 100644 (file)
@@ -403,19 +403,9 @@ static int do_bootefi_image(const char *image_opt)
 
 #ifdef CONFIG_CMD_BOOTEFI_HELLO
        if (!strcmp(image_opt, "hello")) {
-               char *saddr;
-
-               saddr = env_get("loadaddr");
+               image_buf = __efi_helloworld_begin;
                size = __efi_helloworld_end - __efi_helloworld_begin;
 
-               if (saddr)
-                       addr = simple_strtoul(saddr, NULL, 16);
-               else
-                       addr = CONFIG_SYS_LOAD_ADDR;
-
-               image_buf = map_sysmem(addr, size);
-               memcpy(image_buf, __efi_helloworld_begin, size);
-
                efi_free_pool(bootefi_device_path);
                efi_free_pool(bootefi_image_path);
                bootefi_device_path = NULL;