| #
2d3229be |
| 05-Sep-2017 |
Tom Rini <trini@konsulko.com> |
env: Fix out of tree building of tools-all
With the move of environment code from common/ to env/ a number of changes needed to be made to various make targets. We missed updating some of the files
env: Fix out of tree building of tools-all
With the move of environment code from common/ to env/ a number of changes needed to be made to various make targets. We missed updating some of the files required for out of tree builds of the tools. Correct the 'environ' target to know that we need to work under tools/env/ still (not tools/environ/) and then update the wrappers in env_attr.c and env_flags.c to point to the new correct file.
Reported-by: Peter Robinson <pbrobinson@gmail.com> Tested-by: Peter Robinson <pbrobinson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
40fe89c6 |
| 27-Aug-2017 |
Lukasz Majewski <lukma@denx.de> |
fix: fw_env: Prevent writing error message on special files, which don't support fsync
According to fsync specification [1] some special files (e.g., a pipe, FIFO, or socket) don't support synchroni
fix: fw_env: Prevent writing error message on special files, which don't support fsync
According to fsync specification [1] some special files (e.g., a pipe, FIFO, or socket) don't support synchronization and return either EROFS or EINVAL.
On the linux side the sys_fsync -> do_fsync() checks if the requested file has f_op->fsync defined. If not it returns EINVAL [2].
This commit prevents writing error messages for files (devices), which do not support fsync().
[1] - http://man7.org/linux/man-pages/man2/fsync.2.html [2] - http://elixir.free-electrons.com/linux/v4.13-rc6/source/fs/sync.c#L183
Signed-off-by: Lukasz Majewski <lukma@denx.de> Acked-by: Michael Heimpold <mhei@heimpold.de>
show more ...
|
| #
382bee57 |
| 03-Aug-2017 |
Simon Glass <sjg@chromium.org> |
env: Rename setenv() to env_set()
We are now using an env_ prefix for environment functions. Rename setenv() for consistency. Also add function comments in common.h.
Suggested-by: Wolfgang Denk <wd
env: Rename setenv() to env_set()
We are now using an env_ prefix for environment functions. Rename setenv() for consistency. Also add function comments in common.h.
Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
7e99e14d |
| 20-May-2013 |
Michael Heimpold <mhei@heimpold.de> |
tools/fw_env: use fsync to ensure that data is physically stored
Closing a file descriptor does not guarantee that the data has been successfully saved to disk, as the kernel might defer the write.
tools/fw_env: use fsync to ensure that data is physically stored
Closing a file descriptor does not guarantee that the data has been successfully saved to disk, as the kernel might defer the write.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
show more ...
|
| #
4f66e09b |
| 09-May-2017 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
Signed-off-by: Stefano Babic <sbabic@denx.de>
|
| #
ddc6a9de |
| 15-Apr-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
tools/env: avoid memory leak in fw_setenv
If realloc fails we should release the old buffer.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Revie
tools/env: avoid memory leak in fw_setenv
If realloc fails we should release the old buffer.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
33f0086c |
| 05-Apr-2017 |
Stefano Babic <sbabic@denx.de> |
env: fix memory leak in fw_env routines
fw_env_open allocates buffers to store the environment, but these buffers are never freed. This becomes quite nasty using the fw_ tools as library, because ea
env: fix memory leak in fw_env routines
fw_env_open allocates buffers to store the environment, but these buffers are never freed. This becomes quite nasty using the fw_ tools as library, because each access to the environment (even just reading a variable) generates a memory leak equal to the size of the environment.
Fix this renaming fw_env_close() as fw_env_flush(), because the function really flushes the environment from RAM to storage, and add a fw_env_close function to free the allocated resources.
Signed-off-by: Stefano Babic <sbabic@denx.de>
show more ...
|
| #
9d80b49a |
| 05-Apr-2017 |
Stefano Babic <sbabic@denx.de> |
env: split fw_env.h in public and private parts
Move U-Boot private data into a separate file. This lets export fw_env.h to be used by external programs that want to change the environment using the
env: split fw_env.h in public and private parts
Move U-Boot private data into a separate file. This lets export fw_env.h to be used by external programs that want to change the environment using the library built in tools/env.
Signed-off-by: Stefano Babic <sbabic@denx.de>
show more ...
|
| #
2d221489 |
| 29-Nov-2016 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
Signed-off-by: Stefano Babic <sbabic@denx.de>
|
| #
333ee16d |
| 19-Nov-2016 |
Max Krummenacher <max.oss.09@gmail.com> |
tools/env: fix environment alignment tests for block devices
commit 183923d3e412500bdc597d1745e2fb6f7f679ec7 enforces that the environment must start at an erase block boundary.
For block devices t
tools/env: fix environment alignment tests for block devices
commit 183923d3e412500bdc597d1745e2fb6f7f679ec7 enforces that the environment must start at an erase block boundary.
For block devices the sample fw_env.config does not mandate a erase block size for block devices. A missing setting defaults to the full env size.
Depending on the environment location the alignment check now errors out for perfectly legal settings.
Fix this by defaulting to the standard blocksize of 0x200 for environments stored in a block device. That keeps the fw_env.config files for block devices working even with that new check.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
show more ...
|
| #
24307d63 |
| 29-Aug-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
Suspected Spam: Do not open attachements![PATCH 4/6] tools/env: flash_write_buf: enforce offset to be start of environment
This allows to take advantage of the environment being block aligned. This
Suspected Spam: Do not open attachements![PATCH 4/6] tools/env: flash_write_buf: enforce offset to be start of environment
This allows to take advantage of the environment being block aligned. This is not a new constraint. Writes always start at the begin of the environment, since the header with CRC/length as there. Every environment modification requires updating the header
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
show more ...
|
| #
ff95e579 |
| 29-Aug-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
tools/env: lookup dev_type directly from flash_read_buf/flash_write_buf
flash_write_buf already looks up size/offset/#sector from struct envdev_s. It can look up mtd_type as well. Same applies to fl
tools/env: lookup dev_type directly from flash_read_buf/flash_write_buf
flash_write_buf already looks up size/offset/#sector from struct envdev_s. It can look up mtd_type as well. Same applies to flash_read_buf. Makes the interface simpler
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
show more ...
|
| #
c6012bbc |
| 29-Aug-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
tools/env: pass bad block offset by value
the offset is not modified by linux ioctl call see mtd_ioctl{drivers/mtd/mtdchar.c} Makes the interface less ambiguous, since the caller can now exclude a m
tools/env: pass bad block offset by value
the offset is not modified by linux ioctl call see mtd_ioctl{drivers/mtd/mtdchar.c} Makes the interface less ambiguous, since the caller can now exclude a modification of blockstart
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
show more ...
|
| #
e2c9351d |
| 29-Aug-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
tools/env: factor out environment_end function
instead of adhoc computation of the environment end, use a function with a proper name
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.co
tools/env: factor out environment_end function
instead of adhoc computation of the environment end, use a function with a proper name
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
show more ...
|
| #
4ed6f431 |
| 17-Aug-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
tools/env: soften warning about erase block alignment
addon 183923d3e MMC/SATA have no erase blocks, only blocks. Hence the warning about erase block alignment might be confusing in such environment
tools/env: soften warning about erase block alignment
addon 183923d3e MMC/SATA have no erase blocks, only blocks. Hence the warning about erase block alignment might be confusing in such environment.
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com> Reviewed-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
490365c3 |
| 17-Aug-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
tools/env: return with error if redundant environments have unequal size
For double buffering to work, the target buffer must always be big enough to hold all data. This can only be ensured if buffe
tools/env: return with error if redundant environments have unequal size
For double buffering to work, the target buffer must always be big enough to hold all data. This can only be ensured if buffers are of equal size, otherwise one must be smaller and we risk data loss when copying from the bigger to the smaller buffer.
Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com> Reviewed-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
183923d3 |
| 11-Aug-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
tools/env: ensure environment starts at erase block boundary
56086921 added support for unaligned environments access. U-boot itself does not support this: - env_nand.c fails when using an unaligned
tools/env: ensure environment starts at erase block boundary
56086921 added support for unaligned environments access. U-boot itself does not support this: - env_nand.c fails when using an unaligned offset. It produces an error in nand_erase_opts{drivers/mtd/nand/nand_util.c} - in env_sf/env_flash the unused space at the end is preserved, but not in the beginning. block alignment is assumed - env_sata/env_mmc aligns offset/length to the block size of the underlying device. data is silently redirected to the beginning of a block
There is seems no use case for unaligned environment. If there is some useful data at the beginning of the the block (e.g. end of u-boot) that would be very unsafe. If the redundant environments are hosted by the same erase block then that invalidates the idea of double buffering. It might be that unaligned access was allowed in the past, and that people with legacy u-boot are trapped. But at the time of 56086921 it wasn't supported and due to reasons above I guess it was never introduced. I prefer to remove that (unused) feature in favor of simplicity
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
show more ...
|
| #
c3c9fd31 |
| 26-Jul-2016 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-i2c
|
| #
81c878dd |
| 06-May-2016 |
Marcin Niestroj <m.niestroj@grinn-global.com> |
tools: env: Fix format warnings in debug
Format warnings (-Wformat) were shown in printf() calls after defining DEBUG macro.
Update format string and explicitly cast variables to suppress all warni
tools: env: Fix format warnings in debug
Format warnings (-Wformat) were shown in printf() calls after defining DEBUG macro.
Update format string and explicitly cast variables to suppress all warnings.
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
show more ...
|
| #
c5c41c45 |
| 16-Jul-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
tools/env: reuse fw_getenv in fw_printenv function
Try to avoid adhoc iteration of the environment. Reuse fw_getenv to find the variables that should be printed. Only use open-coded iteration when p
tools/env: reuse fw_getenv in fw_printenv function
Try to avoid adhoc iteration of the environment. Reuse fw_getenv to find the variables that should be printed. Only use open-coded iteration when printing all variables. For backwards compatibility, keep emitting a newline when printing with value_only.
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
show more ...
|
| #
1b7427cd |
| 16-Jul-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
tools/env: move envmatch further up in file to avoid forward declarations
forward declaration not needed when re-ordered
Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Andreas Fenkart <
tools/env: move envmatch further up in file to avoid forward declarations
forward declaration not needed when re-ordered
Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
show more ...
|
| #
fd4e3280 |
| 16-Jul-2016 |
Andreas Fenkart <andreas.fenkart@digitalstrom.com> |
tools/env: kernel-doc for fw_printenv, fw_getenv and fw_parse_script
there are two groups of functions: - application ready tools: fw_setenv/fw_getenv/fw_parse_script these are used, when creating a
tools/env: kernel-doc for fw_printenv, fw_getenv and fw_parse_script
there are two groups of functions: - application ready tools: fw_setenv/fw_getenv/fw_parse_script these are used, when creating a single binary containing multiple tools (busybox like) - file access like: open/read/write/close above functions are implemented on top of these. applications can use those to modify several variables without creating a temporary batch script file tested with "./scripts/kernel-doc -html -v tools/env/fw_env.h"
Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
show more ...
|
| #
f4742ca0 |
| 14-Jul-2016 |
Stefan Agner <stefan.agner@toradex.com> |
tools/env: allow negative offsets
A negative value for the offset is treated as a backwards offset for from the end of the device/partition for block devices. This aligns the behavior of the config
tools/env: allow negative offsets
A negative value for the offset is treated as a backwards offset for from the end of the device/partition for block devices. This aligns the behavior of the config file with the syntax of CONFIG_ENV_OFFSET where the functionality has been introduced with commit 5c088ee841f9 ("env_mmc: allow negative CONFIG_ENV_OFFSET").
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
show more ...
|
| #
14fb5b25 |
| 14-Jul-2016 |
Stefan Agner <stefan.agner@toradex.com> |
tools/env: complete environment device config early
Currently flash_read completes a crucial part of the environment device configuration, the device type (mtd_type). This is rather confusing as fla
tools/env: complete environment device config early
Currently flash_read completes a crucial part of the environment device configuration, the device type (mtd_type). This is rather confusing as flash_io calls flash_read conditionally, and one might think flash_write, which also makes use of mtd_type, gets called before flash_read. But since flash_io is always called with O_RDONLY first, this is not actually the case in reality.
However, it is much cleaner to complete and verify the config early in parse_config. This also prepares the code for further extension.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Andreas Fenkart
show more ...
|
| #
dc557e9a |
| 18-Jun-2016 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
Signed-off-by: Stefano Babic <sbabic@denx.de>
|