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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox