17 Jul, 2019
1 commit
-
Add env_get_offset interface to override static CONFIG_ENV_OFFSET,
and update env location driver to use env_get_offset. So for different
storage medium, we are able to store the env at different offset.We don't support this feature when CONFIG_ENV_IS_EMBEDDED is set.
Signed-off-by: Ye Li
(cherry picked from commit 5b12d7cabb14bab9a95af7460b36c6c85db1b328)
24 May, 2019
1 commit
-
Fix below build warning and errors:
env/sata.c: In function ‘env_sata_save’:
env/sata.c:59:9: warning: implicit declaration of function ‘sata_get_dev’ [-Wimplicit-function-declaration]
sata = sata_get_dev(env_sata);
^~~~~~~~~~~~
env/sata.c:59:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
sata = sata_get_dev(env_sata);
^
env/sata.c: In function ‘env_sata_load’:
env/sata.c:101:10: warning: ‘return’ with a value, in function returning void
return -EIO;
^
env/sata.c:94:13: note: declared here
static void env_sata_load(void)
^~~~~~~~~~~~~
env/sata.c:105:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
sata = sata_get_dev(env_sata);
^
env/sata.c:108:10: warning: ‘return’ with a value, in function returning void
return -EIO;
^
env/sata.c:94:13: note: declared here
static void env_sata_load(void)
^~~~~~~~~~~~~
env/sata.c:113:10: warning: ‘return’ with a value, in function returning void
return -EIO;
^
env/sata.c:94:13: note: declared here
static void env_sata_load(void)
^~~~~~~~~~~~~
env/sata.c:116:9: warning: ‘return’ with a value, in function returning void
return env_import(buf, 1);
^~~~~~~~~~~~~~~~~~
env/sata.c:94:13: note: declared here
static void env_sata_load(void)
^~~~~~~~~~~~~
env/sata.c: At top level:
env/sata.c:120:14: error: ‘ENVL_ESATA’ undeclared here (not in a function)
.location = ENVL_ESATA,
^~~~~~~~~~
env/sata.c:122:11: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
.load = env_sata_load,Signed-off-by: Ye Li
18 Jan, 2019
1 commit
-
Patch fixes build error when enabling CONFIG_ENV_IS_IN_SPI_FLAS
and CONFIG_ENV_IS_IN_MMC at the same time mentioned issue in
below link:Refer: https://lists.denx.de/pipermail/u-boot/2018-February/319565.html
build error when enabling CONFIG_ENV_IS_IN_SPI_FLASH and
CONFIG_ENV_IS_IN_MMC at the same time.Signed-off-by: Rajesh Bhagat
Reviewed-by: York Sun
05 Dec, 2018
1 commit
-
Define env_ptr as static in flash and nand env driver to
allow these to compile together.Signed-off-by: Rajesh Bhagat
Reviewed-by: York Sun
20 Jul, 2018
2 commits
-
The function set_default_env() sets the hashtable flags for import_r().
Formally set_default_env() doesn't accept flags from its callers. In
practice the caller can (un)set the H_INTERACTIVE flag, but it has to be
done using the first character of the function's string argument. Other
flags like H_FORCE can't be set by the caller.Change the function to accept flags argument. The benefits are:
1. The caller will have to explicitly set the H_INTERACTIVE flag,
instead of un-setting it using a special char in a string.
2. Add the ability to propagate flags from the caller to himport(),
especially the H_FORCE flag from do_env_default() in nvedit.c that
currently gets ignored for "env default -a -f" commands.
3. Flags and messages will not be coupled together. A caller will be
able to set flags without passing a string and vice versa.Please note:
The propagation of H_FORCE from do_env_default() does not introduce any
functional changes, because currently himport_r() is set to destroy the
old environment regardless if H_FORCE flag is set or not. More changes
are needed to utilize the propagation of H_FORCE.Signed-off-by: Yaniv Levinsky
Acked-by: Igor Grinberg -
The env_flag in do_env_default() doesn't get propagated and therefore
gets ignored by himport_r(). This breaks to ability to "forcibly" reset
variables to their default values using the environment command.Scenario example of the problem:
# setenv kernel uImage
# setenv .flags kernel:so
# env default -f kernel
## Error: Can't overwrite "kernel"
himport_r: can't insert "kernel=zImage" into hash tableChange the call path so it will pass the flag correctly.
Signed-off-by: Yaniv Levinsky
Acked-by: Igor Grinberg
13 Jun, 2018
1 commit
-
's/environemnt/environment/' and
's/Environemnt/Environment/'Signed-off-by: Shyam Saini
07 May, 2018
1 commit
-
When U-Boot started using SPDX tags we were among the early adopters and
there weren't a lot of other examples to borrow from. So we picked the
area of the file that usually had a full license text and replaced it
with an appropriate SPDX-License-Identifier: entry. Since then, the
Linux Kernel has adopted SPDX tags and they place it as the very first
line in a file (except where shebangs are used, then it's second line)
and with slightly different comment styles than us.In part due to community overlap, in part due to better tag visibility
and in part for other minor reasons, switch over to that style.This commit changes all instances where we have a single declared
license in the tag as both the before and after are identical in tag
contents. There's also a few places where I found we did not have a tag
and have introduced one.Signed-off-by: Tom Rini
17 Apr, 2018
1 commit
-
Relocate env drivers if manual relocation is enabled. This
patch fixes the issue of u-boot hang incase if env is
present in any of the flash devices.Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek
Reviewed-by: Simon Glass
09 Apr, 2018
1 commit
-
In order that we can use eth_env_* even when CONFIG_NET isn't set, move
these functions to environment code from net code.This fixes failures such as:
board/ti/am335x/built-in.o: In function `board_late_init':
board/ti/am335x/board.c:752: undefined reference to `eth_env_set_enetaddr'
u-boot/board/ti/am335x/board.c:766: undefined reference to `eth_env_set_enetaddr'which caters for use cases such as:
commit f411b5cca48f ("board: am335x: Always set eth/eth1addr environment
variable")when Ethernet is required in Linux, but not U-Boot.
Signed-off-by: Alex Kiernan
17 Feb, 2018
2 commits
-
With multiple environments, the 'get_char' callback for env
drivers does not really make sense any more because it is
only supported by two drivers (eeprom and nvram).To restore single character loading for these drivers,
override 'env_get_char_spec'.Signed-off-by: Simon Goldschmidt
Acked-by: Maxime Ripard -
Commit 7d714a24d725 ("env: Support multiple environments") added
static variable env_load_location. When saving environmental
variables, this variable is presumed to have the value set before.
In case the value was set before relocation and U-Boot runs from a
NOR flash, this variable wasn't writable. This causes failure when
saving the environment. To save this location, global data must be
used instead.Signed-off-by: York Sun
CC: Maxime Ripard
01 Feb, 2018
1 commit
-
There is more common code in mmc, nand and ubi env drivers that
can be shared by moving to env_import_redund.For this, a status/error value whether the buffers were loaded
are passed as additional parameters to env_import_redund.
Ideally, these are already returned to the env driver by the
storage driver. This is the case for mmc, nand and ubi, so for
this change, code deduplicated.Signed-off-by: Simon Goldschmidt
Acked-by: Maxime Ripard
27 Jan, 2018
2 commits
-
In preparation for the multiple environment support, let's introduce two
new parameters to the environment driver lookup function: the priority and
operation.The operation parameter is meant to identify, obviously, the operation you
might want to perform on the environment.The priority is a number passed to identify the environment priority you
want to retrieve. The lowest priority parameter (0) will be the primary
source.Combining the two parameters allow you to support multiple environments
through different priorities, and to change those priorities between read
and writes operations.This is especially useful to implement migration mechanisms where you want
to always use the same environment first, be it to read or write, while the
common case is more likely to use the same environment it has read from to
write it to.Signed-off-by: Maxime Ripard
-
The nvedit command is the only user of env_driver_lookup_default outside of
the environment code itself, and it uses it only to print the environment
it's about to save to during env save.As we're about to rework the environment to be able to handle multiple
environment sources, we might not have an idea of what environment backend
is going to be used before trying (and possibly failing for some).Therefore, it makes sense to remove that message and move it to the
env_save function itself. As a side effect, we also can get rid of the call
to env_driver_lookup_default that is also about to get refactored.Reviewed-by: Andre Przywara
Reviewed-by: Lukasz Majewski
Reviewed-by: Simon Glass
Signed-off-by: Maxime Ripard
21 Nov, 2017
1 commit
-
This support has been deprecated since v2017.09 due to security issues.
We now remove this support.Signed-off-by: Tom Rini
16 Oct, 2017
1 commit
-
Last user of this option went away in commit:
fdc7718999 ("board: usb_a9263: Update to support DT and DM")
Signed-off-by: Tuomas Tynkkynen
16 Aug, 2017
8 commits
-
The load() methods have inconsistent behaviour on error. Some of them load
an empty default environment. Some load an environment containing an error
message. Others do nothing.As a step in the right direction, have the method return an error code.
Then the caller could handle this itself in a consistent way.Signed-off-by: Simon Glass
-
In principle this can fail, e.g. if the index is out of range. Adjust the
driver signature to allow returning an error code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
We are now using an env_ prefix for environment functions. Rename these
other functions as well, for consistency:getenv_vlan()
getenv_bootm_size()
getenv_bootm_low()
getenv_bootm_mapsize()
env_get_default()Suggested-by: Wolfgang Denk
Signed-off-by: Simon Glass -
Use the env_save() function directly now that there is only one
implementation of saveenv().Signed-off-by: Simon Glass
Reviewed-by: Wolfgang Denk
Reviewed-by: Tom Rini -
This is a strange name for a function that loads the environment. There is
now only one implementation of this function, so use the new env_load()
function directly instead.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
We only have a single implementation of this function now and it is called
env_get_char(). Drop the old function and the weak version.Reviewed-by: Tom Rini
Signed-off-by: Simon Glass -
Add a name to the driver and use that instead of the global variable
declared by each driver.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Most of the init() implementations just use the default environment.
Adjust env_init_new() to do this automatically, and drop the redundant
code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
15 Aug, 2017
3 commits
-
Set up a location driver for each supported environment location. At
present this just points to the global functions and is not used. A
later patch will switch this over to use private functions in each driver.There are several special cases here in various drivers to handle
peculiarities of certain boards:1. Some boards define CONFIG_ENV_IS_IN_FAT and CONFIG_SPL_ENV_SUPPORT but
do not actually load the environment in SPL. The env load code was
optimised out before but with the driver, it is not. Therefore a special
case is added to env/fat.c. The correct fix (depending on board testing
might be to disable CONFIG_SPL_ENV_SUPPORT.2. A similar situations happens with CONFIG_ENV_IS_IN_FLASH. Some boards
do not actually load the environment in SPL, so to reduce code size we
need to drop that code. A similar fix may be possible with these boards,
or it may be possible to adjust the environment CONFIG settings.Added to the above is that the CONFIG_SPL_ENV_SUPPORT option does not
apply when the environment is in flash.Obviously the above has been discovered through painful and time-consuming
trial and error. Hopefully board maintainers can take a look and figure
out what is actually needed.Signed-off-by: Simon Glass
-
At present we have three states for the environment, numbered 0, 1 and 2.
Add an enum to record this to avoid open-coded values.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
These functions are not used outside this file. Make them static and order
them to avoid forward declarations.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
23 Jul, 2017
1 commit
-
All current environments that implement redundancy use almost
identical implementations. This patch implements the env_nand
implementation as a function in env_common, and updates the
env_export function to export an env_nand-style 'flags' field by
default.Signed-off-by: Fiach Antaw
Reviewed-by: Tom Rini
07 Apr, 2017
1 commit
-
The environment location is something that might change per board
(depending on what storage options are availaible there) or depending on
the user choice (when we have several options).Instead of hardcoding it in our configuration header, create a Kconfig
choice with the options we use for now, and the symbols that depend on it.Once done, also remove the irrelevant sunxi defines.
Signed-off-by: Maxime Ripard
Reviewed-by: Tom Rini
Reviewed-by: Jagan Teki
07 Oct, 2016
1 commit
-
Fix various misspellings of:
* deprecated
* partition
* preceding,preceded
* preparation
* its versus it's
* export
* existing
* scenario
* redundant
* remaining
* value
* architectureSigned-off-by: Robert P. J. Day
Reviewed-by: Jagan Teki
Reviewed-by: Stefan Roese
02 Aug, 2014
2 commits
-
Add callback with __weak annotation to allow setup of environment
partition number in runtime from a board file.Propagate mmc_switch_part() return value into init_mmc_for_env() instead
of -1 in case of failure.Signed-off-by: Dmitry Lifshitz
Signed-off-by: Igor Grinberg
Acked-by: Pantelis Antoniou -
Add missing mmc_get_env_addr() prototype in environment.h
Signed-off-by: Dmitry Lifshitz
Acked-by: Pantelis Antoniou
22 Mar, 2014
2 commits
-
Add function which allows encrypting the whole environment block with
AES-128-CBC. The key for the environment is retrieved by
env_aes_cbc_get_key() function, which must be implemented on a per-board
basis.Signed-off-by: Marek Vasut
-
Implement env_export() wrapper, so that all implementers of saveenv() don't
have to call hexport_r(), crc32() etc. sequence . This trims down a bit of
code duplication.Signed-off-by: Marek Vasut
24 Jul, 2013
1 commit
-
Signed-off-by: Wolfgang Denk
[trini: Fixup common/cmd_io.c]
Signed-off-by: Tom Rini
14 Jun, 2013
1 commit
-
The commit d196bd8 (env_mmc: add support for redundant environment)
introduce the following compile error when enable redundant
environment support with MMC
---88---Add this patch to fix it
Signed-off-by: Bo Shen
Reviewed-by: Michael Heimpold
Signed-off-by: Andy Fleming
12 Apr, 2013
2 commits
-
Allow the user to specify two UBI volumes to use for the environment
Signed-off-by: Joe Hershberger
-
UBI is a better place for the environment on NAND devices because it
handles wear-leveling and bad blocks.Gluebi is needed in Linux to access the env as an MTD partition.
Signed-off-by: Joe Hershberger
14 Dec, 2012
1 commit
-
Add support for read-only, write-once, and change-default.
Signed-off-by: Joe Hershberger