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

Reply via email to