discover/boot: Add booting status message
authorJeremy Kerr <jk@ozlabs.org>
Mon, 23 Sep 2013 09:34:14 +0000 (17:34 +0800)
committerJeremy Kerr <jk@ozlabs.org>
Mon, 23 Sep 2013 10:36:08 +0000 (18:36 +0800)
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
discover/boot.c

index 6095cd8d865f8e02cc350b7665371b9771472e50..f52a91c1c8c18ee405bc0659c4d8847c1280ee99 100644 (file)
@@ -285,18 +285,31 @@ int boot(void *ctx, struct discover_boot_option *opt, struct boot_command *cmd,
        unsigned int clean_image = 0;
        unsigned int clean_initrd = 0;
        unsigned int clean_dtb = 0;
        unsigned int clean_image = 0;
        unsigned int clean_initrd = 0;
        unsigned int clean_dtb = 0;
+       const char *boot_desc;
        int result;
 
        image = NULL;
        initrd = NULL;
        dtb = NULL;
 
        int result;
 
        image = NULL;
        initrd = NULL;
        dtb = NULL;
 
+       if (opt && opt->option->name)
+               boot_desc = opt->option->name;
+       else if (cmd && cmd->boot_image_file)
+               boot_desc = cmd->boot_image_file;
+       else
+               boot_desc = "(unknown)";
+
+       update_status(status_fn, status_arg, BOOT_STATUS_INFO,
+                       "Booting %s.", boot_desc);
+
        if (cmd && cmd->boot_image_file) {
                image = pb_url_parse(opt, cmd->boot_image_file);
        } else if (opt && opt->boot_image) {
                image = opt->boot_image->url;
        } else {
                pb_log("%s: no image specified\n", __func__);
        if (cmd && cmd->boot_image_file) {
                image = pb_url_parse(opt, cmd->boot_image_file);
        } else if (opt && opt->boot_image) {
                image = opt->boot_image->url;
        } else {
                pb_log("%s: no image specified\n", __func__);
+               update_status(status_fn, status_arg, BOOT_STATUS_INFO,
+                               "Boot failed: no image specified");
                return -1;
        }
 
                return -1;
        }