From c7de829c796978e519984df2f1c8cfcf921a39a4 Mon Sep 17 00:00:00 2001 From: wdenk Date: Tue, 19 Nov 2002 11:04:11 +0000 Subject: * 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. --- common/main.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'common/main.c') diff --git a/common/main.c b/common/main.c index 014804b6e..08d54c5c1 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 */ -- cgit v1.2.3-70-g09d2