[U-Boot] [PATCH 09/12] cmd: qfw: workaround qfw build issue
Bin Meng
bmeng.cn at gmail.com
Fri May 13 16:00:37 CEST 2016
Hi Miao,
On Fri, May 13, 2016 at 2:29 PM, Miao Yan <yanmiaobest at gmail.com> wrote:
> The qfw command interface makes use of CONFIG_LOADADDR and
> CONFIG_RAMDISKADDR to setup kernel. But not all boards have these macro,
> which causes build problem on those platforms.
>
> This patch fixes this issue.
>
> Signed-off-by: Miao Yan <yanmiaobest at gmail.com>
Looks good.
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
But the commit title "workaround" looks to be a workaround, which does
not sound that good.
> ---
> cmd/cmd_qfw.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/cmd/cmd_qfw.c b/cmd/cmd_qfw.c
> index aeb576b..13ad673 100644
> --- a/cmd/cmd_qfw.c
> +++ b/cmd/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);
> }
>
> --
Regards,
Bin
More information about the U-Boot
mailing list