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>
diff --git a/common/main.c b/common/main.c
index 8c846c8..ce45127 100644
--- a/common/main.c
+++ b/common/main.c
@@ -55,8 +55,11 @@
#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 @@
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();
}