From: Miao Yan Date: Mon, 23 May 2016 02:37:18 +0000 (-0700) Subject: cmd: qfw: do not require default macros when building qfw command X-Git-Tag: v2016.07-rc1~177^2~37 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=86e30e67ad068ebedd1e6cc8833ba413ea28ed75;p=u-boot 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 Reviewed-by: Bin Meng --- diff --git a/cmd/qfw.c b/cmd/qfw.c index c6730bf2d3..12436ec9b4 100644 --- a/cmd/qfw.c +++ b/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); }