diff options
author | Simon Glass <sjg@chromium.org> | 2014-04-10 20:01:35 -0600 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-05-29 17:52:03 -0400 |
commit | affb215626f91e717088a27081d24c473895d47d (patch) | |
tree | 9ced673b20b48fb9a70253860e5cc6b7d9c79a29 /common/main.c | |
parent | c1bb2cd0b6a3d1b152be3686601234b3a363772b (diff) |
main: Make the execution path a little clearer in main.c
bootdelay_process() never returns in some circumstances, whichs makes the
control flow confusing. Change it so that the decision about how to execute
the boot command is made in the main_loop() code, so it is easier to follow.
Move CLI stuff to cli.c.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/main.c')
-rw-r--r-- | common/main.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/common/main.c b/common/main.c index 8c846c84c80..ce451274170 100644 --- a/common/main.c +++ b/common/main.c @@ -55,8 +55,11 @@ static void run_preboot_environment_command(void) #endif /* CONFIG_PREBOOT */ } +/* We come here after U-Boot is initialised and ready to process commands */ void main_loop(void) { + const char *s; + bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop"); #ifndef CONFIG_SYS_GENERIC_BOARD @@ -78,10 +81,11 @@ void main_loop(void) update_tftp(0UL); #endif /* CONFIG_UPDATE_TFTP */ - bootdelay_process(); - /* - * Main Loop for Monitor Command Processing - */ + s = bootdelay_process(); + if (cli_process_fdt(&s)) + cli_secure_boot_cmd(s); + + autoboot_command(s); cli_loop(); } |