qfw: return failure when no kernel could be loaded
authorAndre Przywara <andre.przywara@arm.com>
Mon, 10 Oct 2022 17:01:21 +0000 (18:01 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 21 Oct 2022 20:06:14 +0000 (16:06 -0400)
When we try to load a kernel via the QEMU firmware device, we currently
"return -1;" if no kernel was specified on the QEMU command line. This
leads to the usage output, which is confusing (since nothing on the
command line was really wrong), but also somewhat hides the actual error
message.

Return CMD_RET_FAILURE (1), as it's a proper error, and make the message
more clear that this is not only a "warning".

This helps to call this command in boot scripts, and to gracefully
continue if this doesn't work.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
cmd/qfw.c

index c61001b..95ddc4b 100644 (file)
--- a/cmd/qfw.c
+++ b/cmd/qfw.c
@@ -26,8 +26,8 @@ static int qemu_fwcfg_cmd_setup_kernel(void *load_addr, void *initrd_addr)
        qfw_read_entry(qfw_dev, FW_CFG_KERNEL_SIZE, 4, &kernel_size);
 
        if (kernel_size == 0) {
-               printf("warning: no kernel available\n");
-               return -1;
+               printf("fatal: no kernel available\n");
+               return CMD_RET_FAILURE;
        }
 
        data_addr = load_addr;