[U-Boot] [PATCH 6/7] Add bootgraph instrumentation for UBoot commands
Andrew Murray
amurray at theiet.org
Thu Sep 1 00:21:00 CEST 2011
From: Andrew Murray <amurray at mpcdata.com>
This patch adds bootgraph instrumentation for all U_BOOT_CMDs where the
HUSH parser is not used. The patch also adds instrumentation for the
common boot delay.
Signed-off-by: Andrew Murray <amurray at theiet.org>
---
common/main.c | 19 ++++++++++++-------
1 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/common/main.c b/common/main.c
index 2730c6f..0c78a94 100644
--- a/common/main.c
+++ b/common/main.c
@@ -273,6 +273,7 @@ void main_loop (void)
int rc = 1;
int flag;
#endif
+ int ret;
#if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0)
char *s;
@@ -376,21 +377,24 @@ void main_loop (void)
debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "<UNDEFINED>");
- if (bootdelay >= 0 && s && !abortboot (bootdelay)) {
+ if (bootdelay >= 0 && s) {
+ DO_INITCALL_RET(abortboot, ret, bootdelay);
+ if (!ret) {
# ifdef CONFIG_AUTOBOOT_KEYED
- int prev = disable_ctrlc(1); /* disable Control C checking */
+ int prev = disable_ctrlc(1); /* disable Control C checking */
# endif
# ifndef CONFIG_SYS_HUSH_PARSER
- run_command (s, 0);
+ run_command (s, 0);
# else
- parse_string_outer(s, FLAG_PARSE_SEMICOLON |
+ parse_string_outer(s, FLAG_PARSE_SEMICOLON |
FLAG_EXIT_FROM_LOOP);
# endif
# ifdef CONFIG_AUTOBOOT_KEYED
- disable_ctrlc(prev); /* restore Control C checking */
+ disable_ctrlc(prev); /* restore Control C checking */
# endif
+ }
}
# ifdef CONFIG_MENUKEY
@@ -1271,7 +1275,7 @@ int run_command (const char *cmd, int flag)
char *argv[CONFIG_SYS_MAXARGS + 1]; /* NULL terminated */
int argc, inquotes;
int repeatable = 1;
- int rc = 0;
+ int rc = 0, ret;
#ifdef DEBUG_PARSER
printf ("[RUN_COMMAND] cmd[%p]=\"", cmd);
@@ -1371,7 +1375,8 @@ int run_command (const char *cmd, int flag)
#endif
/* OK - call function to do the command */
- if ((cmdtp->cmd) (cmdtp, flag, argc, argv) != 0) {
+ DO_INITCALL_RET(cmdtp->cmd, ret, cmdtp, flag, argc, argv);
+ if (ret != 0) {
rc = -1;
}
--
1.7.4.1
More information about the U-Boot
mailing list