From: Andrew Murray <[email protected]> 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 <[email protected]> --- 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 _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

