main: Move boot_delay code into its own function
Move this code into its own function, since it clutters up main_loop(). Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
063ae006ae
commit
bc2b4c27d0
127
common/main.c
127
common/main.c
|
@ -341,27 +341,14 @@ static void process_fdt_options(const void *blob)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_OF_CONTROL */
|
#endif /* CONFIG_OF_CONTROL */
|
||||||
|
|
||||||
|
#ifdef CONFIG_BOOTDELAY
|
||||||
/****************************************************************************/
|
static void process_boot_delay(void)
|
||||||
|
|
||||||
void main_loop (void)
|
|
||||||
{
|
{
|
||||||
#ifndef CONFIG_SYS_HUSH_PARSER
|
#ifdef CONFIG_OF_CONTROL
|
||||||
static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, };
|
|
||||||
int len;
|
|
||||||
int rc = 1;
|
|
||||||
int flag;
|
|
||||||
#endif
|
|
||||||
#if defined(CONFIG_BOOTDELAY) && defined(CONFIG_OF_CONTROL)
|
|
||||||
char *env;
|
char *env;
|
||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_BOOTDELAY)
|
|
||||||
char *s;
|
char *s;
|
||||||
int bootdelay;
|
int bootdelay;
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_PREBOOT
|
|
||||||
char *p;
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_BOOTCOUNT_LIMIT
|
#ifdef CONFIG_BOOTCOUNT_LIMIT
|
||||||
unsigned long bootcount = 0;
|
unsigned long bootcount = 0;
|
||||||
unsigned long bootlimit = 0;
|
unsigned long bootlimit = 0;
|
||||||
|
@ -369,8 +356,6 @@ void main_loop (void)
|
||||||
char bcs_set[16];
|
char bcs_set[16];
|
||||||
#endif /* CONFIG_BOOTCOUNT_LIMIT */
|
#endif /* CONFIG_BOOTCOUNT_LIMIT */
|
||||||
|
|
||||||
bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
|
|
||||||
|
|
||||||
#ifdef CONFIG_BOOTCOUNT_LIMIT
|
#ifdef CONFIG_BOOTCOUNT_LIMIT
|
||||||
bootcount = bootcount_load();
|
bootcount = bootcount_load();
|
||||||
bootcount++;
|
bootcount++;
|
||||||
|
@ -381,50 +366,6 @@ void main_loop (void)
|
||||||
bootlimit = bcs ? simple_strtoul (bcs, NULL, 10) : 0;
|
bootlimit = bcs ? simple_strtoul (bcs, NULL, 10) : 0;
|
||||||
#endif /* CONFIG_BOOTCOUNT_LIMIT */
|
#endif /* CONFIG_BOOTCOUNT_LIMIT */
|
||||||
|
|
||||||
#ifdef CONFIG_MODEM_SUPPORT
|
|
||||||
debug ("DEBUG: main_loop: do_mdm_init=%d\n", do_mdm_init);
|
|
||||||
if (do_mdm_init) {
|
|
||||||
char *str = strdup(getenv("mdm_cmd"));
|
|
||||||
setenv ("preboot", str); /* set or delete definition */
|
|
||||||
if (str != NULL)
|
|
||||||
free (str);
|
|
||||||
mdm_init(); /* wait for modem connection */
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_MODEM_SUPPORT */
|
|
||||||
|
|
||||||
#ifdef CONFIG_VERSION_VARIABLE
|
|
||||||
{
|
|
||||||
setenv ("ver", version_string); /* set version variable */
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_VERSION_VARIABLE */
|
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_HUSH_PARSER
|
|
||||||
u_boot_hush_start ();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CONFIG_HUSH_INIT_VAR)
|
|
||||||
hush_init_var ();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_PREBOOT
|
|
||||||
if ((p = getenv ("preboot")) != NULL) {
|
|
||||||
# ifdef CONFIG_AUTOBOOT_KEYED
|
|
||||||
int prev = disable_ctrlc(1); /* disable Control C checking */
|
|
||||||
# endif
|
|
||||||
|
|
||||||
run_command_list(p, -1, 0);
|
|
||||||
|
|
||||||
# ifdef CONFIG_AUTOBOOT_KEYED
|
|
||||||
disable_ctrlc(prev); /* restore Control C checking */
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_PREBOOT */
|
|
||||||
|
|
||||||
#if defined(CONFIG_UPDATE_TFTP)
|
|
||||||
update_tftp (0UL);
|
|
||||||
#endif /* CONFIG_UPDATE_TFTP */
|
|
||||||
|
|
||||||
#if defined(CONFIG_BOOTDELAY)
|
|
||||||
s = getenv ("bootdelay");
|
s = getenv ("bootdelay");
|
||||||
bootdelay = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;
|
bootdelay = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;
|
||||||
|
|
||||||
|
@ -491,8 +432,70 @@ void main_loop (void)
|
||||||
run_command_list(s, -1, 0);
|
run_command_list(s, -1, 0);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_MENUKEY */
|
#endif /* CONFIG_MENUKEY */
|
||||||
|
}
|
||||||
#endif /* CONFIG_BOOTDELAY */
|
#endif /* CONFIG_BOOTDELAY */
|
||||||
|
|
||||||
|
void main_loop(void)
|
||||||
|
{
|
||||||
|
#ifndef CONFIG_SYS_HUSH_PARSER
|
||||||
|
static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, };
|
||||||
|
int len;
|
||||||
|
int rc = 1;
|
||||||
|
int flag;
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_PREBOOT
|
||||||
|
char *p;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
|
||||||
|
|
||||||
|
#ifdef CONFIG_MODEM_SUPPORT
|
||||||
|
debug("DEBUG: main_loop: do_mdm_init=%d\n", do_mdm_init);
|
||||||
|
if (do_mdm_init) {
|
||||||
|
char *str = strdup(getenv("mdm_cmd"));
|
||||||
|
setenv("preboot", str); /* set or delete definition */
|
||||||
|
if (str != NULL)
|
||||||
|
free(str);
|
||||||
|
mdm_init(); /* wait for modem connection */
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_MODEM_SUPPORT */
|
||||||
|
|
||||||
|
#ifdef CONFIG_VERSION_VARIABLE
|
||||||
|
{
|
||||||
|
setenv("ver", version_string); /* set version variable */
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_VERSION_VARIABLE */
|
||||||
|
|
||||||
|
#ifdef CONFIG_SYS_HUSH_PARSER
|
||||||
|
u_boot_hush_start();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_HUSH_INIT_VAR)
|
||||||
|
hush_init_var();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_PREBOOT
|
||||||
|
p = getenv("preboot");
|
||||||
|
if (p != NULL) {
|
||||||
|
# ifdef CONFIG_AUTOBOOT_KEYED
|
||||||
|
int prev = disable_ctrlc(1); /* disable Control C checking */
|
||||||
|
# endif
|
||||||
|
|
||||||
|
run_command_list(p, -1, 0);
|
||||||
|
|
||||||
|
# ifdef CONFIG_AUTOBOOT_KEYED
|
||||||
|
disable_ctrlc(prev); /* restore Control C checking */
|
||||||
|
# endif
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_PREBOOT */
|
||||||
|
|
||||||
|
#if defined(CONFIG_UPDATE_TFTP)
|
||||||
|
update_tftp(0UL);
|
||||||
|
#endif /* CONFIG_UPDATE_TFTP */
|
||||||
|
|
||||||
|
#ifdef CONFIG_BOOTDELAY
|
||||||
|
process_boot_delay();
|
||||||
|
#endif
|
||||||
/*
|
/*
|
||||||
* Main Loop for Monitor Command Processing
|
* Main Loop for Monitor Command Processing
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue