* 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.
diff --git a/common/main.c b/common/main.c
index 014804b..08d54c5 100644
--- a/common/main.c
+++ b/common/main.c
@@ -179,11 +179,19 @@
# 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 @@
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 @@
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
*/