autoboot: add an option to override keyed autoboot

As originally implemented, setting the AUTOBOOT_KEYED config option will
prevent users from breaking into the autoboot script with ctrl-c. Restore
that option with a new config symbol.

Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
This commit is contained in:
Mark Langsdorf 2013-09-10 15:20:23 -05:00 committed by Tom Rini
parent 212d7dadcd
commit 00ddacc1a1
2 changed files with 10 additions and 2 deletions

View file

@ -392,13 +392,13 @@ static void process_boot_delay(void)
debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "<UNDEFINED>");
if (bootdelay != -1 && s && !abortboot(bootdelay)) {
#ifdef CONFIG_AUTOBOOT_KEYED
#if defined(CONFIG_AUTOBOOT_KEYED) && !defined(CONFIG_AUTOBOOT_KEYED_CTRLC)
int prev = disable_ctrlc(1); /* disable Control C checking */
#endif
run_command_list(s, -1, 0);
#ifdef CONFIG_AUTOBOOT_KEYED
#if defined(CONFIG_AUTOBOOT_KEYED) && !defined(CONFIG_AUTOBOOT_KEYED_CTRLC)
disable_ctrlc(prev); /* restore Control C checking */
#endif
}

View file

@ -74,6 +74,7 @@ What they do
"bootretry" is >= 0.
CONFIG_AUTOBOOT_KEYED
CONFIG_AUTOBOOT_KEYED_CTRLC
CONFIG_AUTOBOOT_PROMPT
CONFIG_AUTOBOOT_DELAY_STR
CONFIG_AUTOBOOT_STOP_STR
@ -135,6 +136,13 @@ What they do
environment variable you can specify a second, alternate
string (which allows you to have two "password" strings).
The CONFIG_AUTOBOOT_KEYED_CTRLC #define allows for the boot
sequence to be interrupted by ctrl-c, in addition to the
"bootdelaykey" and "bootstopkey". Setting this variable
provides an escape sequence from the limited "password"
strings.
CONFIG_ZERO_BOOTDELAY_CHECK
If this option is defined, you can stop the autoboot process