From: Alexey Ignatov <lexszero@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARM: mxs: tools: Add support for verbose and silent boot progress flags
Date: Thu, 9 Oct 2014 00:49:38 +0400 [thread overview]
Message-ID: <1412801378-9032-1-git-send-email-lexszero@gmail.com> (raw)
mkimage -T mxs now support new flags in config file:
NODISPLAYPROGRESS - makes boot silent
VERBOSEPROGRESS - makes boot progress display more verbose
Signed-off-by: Alexey Ignatov <lexszero@gmail.com>
---
tools/mxsimage.c | 41 ++++++++++++++++++++++++++++++++++-------
tools/mxsimage.h | 6 +++++-
2 files changed, 39 insertions(+), 8 deletions(-)
diff --git a/tools/mxsimage.c b/tools/mxsimage.c
index 045b35a..55c6691 100644
--- a/tools/mxsimage.c
+++ b/tools/mxsimage.c
@@ -124,7 +124,8 @@ struct sb_image_ctx {
unsigned int in_section:1;
unsigned int in_dcd:1;
/* Image configuration */
- unsigned int verbose_boot:1;
+ unsigned int display_progress:1;
+ unsigned int verbose_progress:1;
unsigned int silent_dump:1;
char *input_filename;
char *output_filename;
@@ -1328,8 +1329,9 @@ static int sb_prefill_image_header(struct sb_image_ctx *ictx)
sizeof(struct sb_sections_header) / SB_BLOCK_SIZE;
hdr->timestamp_us = sb_get_timestamp() * 1000000;
- /* FIXME -- add proper config option */
- hdr->flags = ictx->verbose_boot ? SB_IMAGE_FLAG_VERBOSE : 0,
+ hdr->flags =
+ ictx->display_progress ? SB_IMAGE_FLAG_DISPLAY_PROGRESS : 0 |
+ ictx->verbose_progress ? SB_IMAGE_FLAG_VERBOSE_PROGRESS : 0,
/* FIXME -- We support only default key */
hdr->key_count = 1;
@@ -1447,6 +1449,30 @@ static int sb_parse_line(struct sb_image_ctx *ictx, struct sb_cmd_list *cmd)
}
cmd->cmd = rptr;
+
+ /* clear DISPLAY_PROGRESS flag */
+ if (!strcmp(tok, "NODISPLAYPROGRESS")) {
+ if (ictx->verbose_progress) {
+ fprintf(stderr,
+ "#%i ERR: VERBOSEPROGRESS incompatible with NODISPLAYPROGRESS\n",
+ cmd->lineno);
+ return -EINVAL;
+ }
+ ictx->display_progress = 0;
+ return 0;
+ }
+
+ /* set VERBOSE_PROGRESS flag */
+ if (!strcmp(tok, "VERBOSEPROGRESS")) {
+ if (!ictx->display_progress) {
+ fprintf(stderr,
+ "#%i ERR: VERBOSEPROGRESS incompatible with NODISPLAYPROGRESS\n",
+ cmd->lineno);
+ return -EINVAL;
+ }
+ ictx->verbose_progress = 1;
+ return 0;
+ }
/* DCD */
if (!strcmp(tok, "DCD")) {
@@ -1701,10 +1727,11 @@ static int sb_verify_image_header(struct sb_image_ctx *ictx,
ntohs(hdr->component_version.minor),
ntohs(hdr->component_version.revision));
- if (hdr->flags & ~SB_IMAGE_FLAG_VERBOSE)
+ if (hdr->flags & ~SB_IMAGE_FLAGS_MASK)
ret = -EINVAL;
- soprintf(ictx, "%s Image flags: %s\n", stat[!!ret],
- hdr->flags & SB_IMAGE_FLAG_VERBOSE ? "Verbose_boot" : "");
+ soprintf(ictx, "%s Image flags: %s %s\n", stat[!!ret],
+ hdr->flags & SB_IMAGE_FLAG_DISPLAY_PROGRESS ? "Display_progress" : "",
+ hdr->flags & SB_IMAGE_FLAG_VERBOSE_PROGRESS ? "Verbose_progress" : "");
if (ret)
return ret;
@@ -2305,7 +2332,7 @@ static int mxsimage_generate(struct image_tool_params *params,
ctx.cfg_filename = params->imagename;
ctx.output_filename = params->imagefile;
- ctx.verbose_boot = 1;
+ ctx.display_progress = 1;
ret = sb_build_tree_from_cfg(&ctx);
if (ret)
diff --git a/tools/mxsimage.h b/tools/mxsimage.h
index 6cd59d2..01624f7 100644
--- a/tools/mxsimage.h
+++ b/tools/mxsimage.h
@@ -82,7 +82,11 @@ struct sb_boot_image_header {
#define SB_VERSION_MINOR 1
/* Enable to HTLLC verbose boot report. */
-#define SB_IMAGE_FLAG_VERBOSE (1 << 0)
+#define SB_IMAGE_FLAG_DISPLAY_PROGRESS (1 << 0)
+#define SB_IMAGE_FLAG_VERBOSE_PROGRESS (1 << 1)
+#define SB_IMAGE_FLAGS_MASK \
+ (SB_IMAGE_FLAG_DISPLAY_PROGRESS | \
+ SB_IMAGE_FLAG_VERBOSE_PROGRESS)
struct sb_key_dictionary_key {
/* The CBC-MAC of image and sections header. */
--
1.8.5.3
next reply other threads:[~2014-10-08 20:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-08 20:49 Alexey Ignatov [this message]
2014-10-08 22:10 ` [U-Boot] [PATCH] ARM: mxs: tools: Add support for verbose and silent boot progress flags Marek Vasut
2014-10-08 22:29 ` Alexey Ignatov
2014-10-08 22:48 ` Marek Vasut
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1412801378-9032-1-git-send-email-lexszero@gmail.com \
--to=lexszero@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.