diff options
author | wdenk <wdenk> | 2002-11-19 11:04:11 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2002-11-19 11:04:11 +0000 |
commit | c7de829c796978e519984df2f1c8cfcf921a39a4 (patch) | |
tree | 43e42aa9a09f5265783c1622a5cea080471ef50e /common/main.c | |
parent | 2262cfeef91458b01a1bfe3812ccbbfdf8b82807 (diff) |
* Patch by Thomas Frieden, 13 Nov 2002:
Add code for AmigaOne board
(preliminary merge to U-Boot, still WIP)
* Patch by Jon Diekema, 12 Nov 2002:
- Adding URL for IEEE OUI lookup
- Making the autoboot #defines dependent on CONFIG_AUTOBOOT_KEYED
being defined.
- In the CONFIG_EXTRA_ENV_SETTINGS #define, the root-on-initrd and
root-on-nfs macros are designed to switch how the default boot
method gets defined.
Diffstat (limited to 'common/main.c')
-rw-r--r-- | common/main.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/common/main.c b/common/main.c index 014804b6ef5..08d54c5c140 100644 --- a/common/main.c +++ b/common/main.c @@ -179,11 +179,19 @@ static __inline__ int abortboot(int bootdelay) # else /* !defined(CONFIG_AUTOBOOT_KEYED) */ +#ifdef CONFIG_MENUKEY +static int menukey = 0; +#endif + static __inline__ int abortboot(int bootdelay) { int abort = 0; +#ifdef CONFIG_MENUPROMPT + printf(CONFIG_MENUPROMPT, bootdelay); +#else printf("Hit any key to stop autoboot: %2d ", bootdelay); +#endif #if defined CONFIG_ZERO_BOOTDELAY_CHECK /* @@ -208,7 +216,11 @@ static __inline__ int abortboot(int bootdelay) if (tstc()) { /* we got a key press */ abort = 1; /* don't auto boot */ bootdelay = 0; /* no more delay */ +# ifdef CONFIG_MENUKEY + menukey = getc(); +# else (void) getc(); /* consume input */ +# endif break; } udelay (10000); @@ -323,8 +335,31 @@ void main_loop (void) disable_ctrlc(prev); /* restore Control C checking */ # endif } + +# ifdef CONFIG_MENUKEY + if (menukey == CONFIG_MENUKEY) + { + s = getenv("menucmd"); + if (s) + { +# ifndef CFG_HUSH_PARSER + run_command (s, bd, 0); +# else + parse_string_outer(s, FLAG_PARSE_SEMICOLON | + FLAG_EXIT_FROM_LOOP); +# endif + } + } +#endif /* CONFIG_MENUKEY */ #endif /* CONFIG_BOOTDELAY */ +#ifdef CONFIG_AMIGAONEG3SE + { + extern void video_banner(void); + video_banner(); + } +#endif + /* * Main Loop for Monitor Command Processing */ |