diff options
author | Patrick Delaunay <patrick.delaunay@st.com> | 2020-07-28 11:51:21 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-07-31 10:13:00 -0400 |
commit | a97d22ebba2305f2d0aee714544c72c6a53026d9 (patch) | |
tree | 11c843faeaeb7a2bdd1e180e2e135b11cf5817da /cmd | |
parent | 0115dd3a6a144e9c974e00a9f3f41c5bb053236e (diff) |
cmd: env: add env select command
Add the new command 'env select' to force the persistent storage
of environment, saved in gd->env_load_prio.
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/Kconfig | 5 | ||||
-rw-r--r-- | cmd/nvedit.c | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/cmd/Kconfig b/cmd/Kconfig index 498fd31b10..d7136b0e79 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -610,6 +610,11 @@ config CMD_NVEDIT_LOAD Load all environment variables from the compiled-in persistent storage. +config CMD_NVEDIT_SELECT + bool "env select" + help + Select the compiled-in persistent storage of environment variables. + endmenu menu "Memory commands" diff --git a/cmd/nvedit.c b/cmd/nvedit.c index f730e2e754..d188c6aa6b 100644 --- a/cmd/nvedit.c +++ b/cmd/nvedit.c @@ -802,6 +802,15 @@ static int do_env_load(struct cmd_tbl *cmdtp, int flag, int argc, return env_reload() ? 1 : 0; } #endif + +#if defined(CONFIG_CMD_NVEDIT_SELECT) +static int do_env_select(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + return env_select(argv[1]) ? 1 : 0; +} +#endif + #endif /* CONFIG_SPL_BUILD */ int env_match(uchar *s1, int i2) @@ -1368,6 +1377,9 @@ static struct cmd_tbl cmd_env_sub[] = { U_BOOT_CMD_MKENT(erase, 1, 0, do_env_erase, "", ""), #endif #endif +#if defined(CONFIG_CMD_NVEDIT_SELECT) + U_BOOT_CMD_MKENT(select, 2, 0, do_env_select, "", ""), +#endif U_BOOT_CMD_MKENT(set, CONFIG_SYS_MAXARGS, 0, do_env_set, "", ""), #if defined(CONFIG_CMD_ENV_EXISTS) U_BOOT_CMD_MKENT(exists, 2, 0, do_env_exists, "", ""), @@ -1456,6 +1468,9 @@ static char env_help_text[] = #if defined(CONFIG_CMD_NVEDIT_LOAD) "env load - load environment\n" #endif +#if defined(CONFIG_CMD_NVEDIT_SELECT) + "env select [target] - select environment target\n" +#endif #if defined(CONFIG_CMD_NVEDIT_EFI) "env set -e [-nv][-bs][-rt][-at][-a][-i addr,size][-v] name [arg ...]\n" " - set UEFI variable; unset if '-i' or 'arg' not specified\n" |