summaryrefslogtreecommitdiff
path: root/common/cmd_nvedit.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/cmd_nvedit.c')
-rw-r--r--common/cmd_nvedit.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index cf718e7..c1980da 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -5,7 +5,7 @@
* (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com>
* Andreas Heppel <aheppel@sysgo.de>
*
- * Copyright (C) 2010-2011 Freescale Semiconductor, Inc.
+ * Copyright (C) 2010-2012 Freescale Semiconductor, Inc.
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -427,6 +427,16 @@ int do_setenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return _do_setenv (flag, argc, argv);
}
+#if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
+int do_destroyenv(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+ printf("invalidate the CRC\n");
+ env_crc_destroy();
+ printf("write invalidate enviroment data to storage\n");
+ return saveenv() ? 1 : 0;
+}
+#endif
+
/************************************************************************
* Prompt for environment variable
*/
@@ -616,6 +626,15 @@ U_BOOT_CMD(
" - delete environment variable 'name'"
);
+#if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
+U_BOOT_CMD(
+ destroyenv, CONFIG_SYS_MAXARGS, 0, do_destroyenv,
+ "destroy enviroment variables stored in medium",
+ "\n - destroy all environment variables in medium"
+ "\n after reset the default settings will be used"
+);
+#endif
+
#if defined(CONFIG_CMD_ASKENV)
U_BOOT_CMD(