On 08/29/2017 01:30 AM, Alexander Graf wrote: > > > On 28.08.17 18:54, Heinrich Schuchardt wrote: >> Command 'bootefi hello' currently uses CONFIG_SYS_LOAD_ADDR >> as loading address. >> >> qemu machines have by default 128 MiB RAM. >> CONFIG_SYS_LOAD_ADDR for x86 is 0x20000000 (512 MiB). >> This causes 'bootefi hello' to fail. >> >> We should use the environment variable loadaddr if available. >> It defaults to 0x1000000 (16 MiB) on qemu_x86. >> >> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> >> --- >> cmd/bootefi.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/cmd/bootefi.c b/cmd/bootefi.c >> index 47771f87cc..a3768158a2 100644 >> --- a/cmd/bootefi.c >> +++ b/cmd/bootefi.c >> @@ -300,7 +300,11 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, >> int argc, char * const argv[]) >> if (!strcmp(argv[1], "hello")) { >> ulong size = __efi_hello_world_end - __efi_hello_world_begin; >> - addr = CONFIG_SYS_LOAD_ADDR; >> + saddr = env_get("loadaddr"); >> + if (saddr) >> + addr = simple_strtoul(saddr, NULL, 16); >> + else >> + addr = CONFIG_SYS_LOAD_ADDR; > > I'm not terribly happy about that logic. Ideally I would want to have it > load to *one* explicit address, not multiple ones. > > Maybe we could just always memalign() a region? > > Alternatively if we can not use memalign, I would rather drop the > CONFIG_SYS_LOAD_ADDR branch and *only* rely on loadaddr. > > > Alex >
A user might have deleted loadaddr from the environment. If we do not fallback to CONFIG_SYS_LOAD_ADDR we would have to create an error message saying that we cannot do without loadaddr. Shall I adjust the patch in this way? Best regards Heinrich _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot