All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.