Allow runtime configuration of "zero-delay" check

Define the new "-2" value for bootdelay to mean autoboot with no delay
and don't check for an abort key (while "0" value means do check).

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
master
Joe Hershberger 13 years ago committed by Tom Rini
parent e53515a21c
commit 93d7212fa6
  1. 2
      README
  2. 5
      common/main.c

@ -704,6 +704,8 @@ The following options need to be configured:
- Boot Delay: CONFIG_BOOTDELAY - in seconds - Boot Delay: CONFIG_BOOTDELAY - in seconds
Delay before automatically booting the default image; Delay before automatically booting the default image;
set to -1 to disable autoboot. set to -1 to disable autoboot.
set to -2 to autoboot with no delay and not check for abort
(even when CONFIG_ZERO_BOOTDELAY_CHECK is defined).
See doc/README.autoboot for these options that See doc/README.autoboot for these options that
work with CONFIG_BOOTDELAY. None are required. work with CONFIG_BOOTDELAY. None are required.

@ -222,7 +222,8 @@ int abortboot(int bootdelay)
#ifdef CONFIG_MENUPROMPT #ifdef CONFIG_MENUPROMPT
printf(CONFIG_MENUPROMPT); printf(CONFIG_MENUPROMPT);
#else #else
printf("Hit any key to stop autoboot: %2d ", bootdelay); if (bootdelay >= 0)
printf("Hit any key to stop autoboot: %2d ", bootdelay);
#endif #endif
#if defined CONFIG_ZERO_BOOTDELAY_CHECK #if defined CONFIG_ZERO_BOOTDELAY_CHECK
@ -382,7 +383,7 @@ void main_loop (void)
debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "<UNDEFINED>"); debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "<UNDEFINED>");
if (bootdelay >= 0 && s && !abortboot (bootdelay)) { if (bootdelay != -1 && s && !abortboot(bootdelay)) {
# ifdef CONFIG_AUTOBOOT_KEYED # ifdef CONFIG_AUTOBOOT_KEYED
int prev = disable_ctrlc(1); /* disable Control C checking */ int prev = disable_ctrlc(1); /* disable Control C checking */
# endif # endif

Loading…
Cancel
Save