mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
cmd: qfw: do not require default macros when building qfw command
The qfw command interface makes use of CONFIG_LOADADDR and CONFIG_RAMDISKADDR to setup kernel. But not all boards have these macros, which causes build problem on those platforms. This patch fixes this issue. Signed-off-by: Miao Yan <yanmiaobest@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
1868659002
commit
86e30e67ad
1 changed files with 13 additions and 0 deletions
13
cmd/qfw.c
13
cmd/qfw.c
|
@ -126,12 +126,20 @@ static int qemu_fwcfg_do_load(cmd_tbl_t *cmdtp, int flag,
|
|||
env = getenv("loadaddr");
|
||||
load_addr = env ?
|
||||
(void *)simple_strtoul(env, NULL, 16) :
|
||||
#ifdef CONFIG_LOADADDR
|
||||
(void *)CONFIG_LOADADDR;
|
||||
#else
|
||||
NULL;
|
||||
#endif
|
||||
|
||||
env = getenv("ramdiskaddr");
|
||||
initrd_addr = env ?
|
||||
(void *)simple_strtoul(env, NULL, 16) :
|
||||
#ifdef CONFIG_RAMDISK_ADDR
|
||||
(void *)CONFIG_RAMDISK_ADDR;
|
||||
#else
|
||||
NULL;
|
||||
#endif
|
||||
|
||||
if (argc == 2) {
|
||||
load_addr = (void *)simple_strtoul(argv[0], NULL, 16);
|
||||
|
@ -140,6 +148,11 @@ static int qemu_fwcfg_do_load(cmd_tbl_t *cmdtp, int flag,
|
|||
load_addr = (void *)simple_strtoul(argv[0], NULL, 16);
|
||||
}
|
||||
|
||||
if (!load_addr || !initrd_addr) {
|
||||
printf("missing load or initrd address\n");
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
return qemu_fwcfg_setup_kernel(load_addr, initrd_addr);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue