summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/cmd_nvedit.c8
-rw-r--r--common/main.c10
2 files changed, 16 insertions, 2 deletions
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index c404157..3c2a553 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -180,9 +180,13 @@ int _do_setenv (int flag, int argc, char *argv[])
#ifndef CONFIG_ENV_OVERWRITE
/*
- * Ethernet Address and serial# can be set only once
+ * Ethernet Address and serial# can be set only once,
+ * ver is readonly.
*/
if ( (strcmp (name, "serial#") == 0) ||
+#if defined(CONFIG_VERSION_VARIABLE)
+ (strcmp (name, "ver") == 0) ||
+#endif /* CONFIG_VERSION_VARIABLE */
((strcmp (name, "ethaddr") == 0)
#if defined(CONFIG_OVERWRITE_ETHADDR_ONCE) && defined(CONFIG_ETHADDR)
&& (strcmp (env_get_addr(oldval),MK_STR(CONFIG_ETHADDR)) != 0)
@@ -358,7 +362,7 @@ int _do_setenv (int flag, int argc, char *argv[])
}
#endif /* CFG_CMD_NET */
-#ifdef CONFIG_AMIGAONEG3SE
+#ifdef CONFIG_AMIGAONEG3SE
if (strcmp(argv[1], "vga_fg_color") == 0 ||
strcmp(argv[1], "vga_bg_color") == 0 ) {
extern void video_set_color(unsigned char attr);
diff --git a/common/main.c b/common/main.c
index 9ee32a5..e32845e 100644
--- a/common/main.c
+++ b/common/main.c
@@ -279,6 +279,16 @@ void main_loop (void)
}
#endif /* CONFIG_MODEM_SUPPORT */
+#ifdef CONFIG_VERSION_VARIABLE
+ {
+ extern char version_string[];
+ char *str = getenv("ver");
+
+ if (!str)
+ setenv ("ver", version_string); /* set version variable */
+ }
+#endif /* CONFIG_VERSION_VARIABLE */
+
#ifdef CFG_HUSH_PARSER
u_boot_hush_start ();
#endif