[PATCH v4 00/14] env: ext4: corrections and add test for env in ext4
Patrick Delaunay
patrick.delaunay at st.com
Tue Jul 28 11:51:13 CEST 2020
Hi,
V4 of the serie [1]: rebase on master branch and solve the SPL size
issue for board with SPL_ENV_IS_NOWHERE=y (pointed by Tom Rini in [2])
The buildman result for these boards are:
-------------------------------------------------
tools/buildman/buildman -b sssddsqqs T1042RDB_PI_NAND_SECURE_BOOT
am335x_guardian am335x_guardian am335x_evm j721e_evm_r5
ls1021atwr_sdcard_ifc_SECURE_BOOT ls1043ardb_nand_SECURE_BOOT
ls1043ardb_sdcard_SECURE_BOOT ls1046ardb_qspi_spl
ls1088ardb_sdcard_qspi_SECURE_BOOT T1042RDB_PI_NAND_SECURE_BOOT -sS
Summary of 25 commits for 13 boards (12 threads, 1 job per thread)
01: Merge https://gitlab.denx.de/u-boot/custodians/u-boot-spi
aarch64: w+ ls1043ardb_sdcard_SECURE_BOOT ls1046ardb_sdcard_SECURE_BOOT ls1088ardb_sdcard_qspi_SECURE_BOOT
arm: w+ am335x_guardian j721e_evm_r5 ls1021atwr_sdcard_ifc_SECURE_BOOT
powerpc: w+ T1042RDB_PI_NAND_SECURE_BOOT
02: env: mmc: allow support of mmc_get_env_dev with OF_CONTROL
arm: (for 7/7 boards) all +4534.9 bss -4.6 data +4537.1 text +2.3
03: env: mmc: correct the offset returned by mmc_offset_try_partition
arm: (for 7/7 boards) bss +1.1 text -1.1
04: env: mmc: add redundancy support in mmc_offset_try_partition
05: stm32mp1: board: add support of CONFIG_ENV_IS_IN_MMC
06: stm32mp1: use a specific SD/eMMC partition for U-Boot enviromnent
07: configs:stm32mp1: activate env config in SPL
aarch64: (for 5/5 boards) all -1.8 rodata -1.8
arm: (for 7/7 boards) all +0.9 bss +3.4 rodata -2.6
08: cmd: env: add option for quiet output on env info
aarch64: (for 5/5 boards) all +1.8 rodata +1.8
arm: (for 7/7 boards) all -0.9 bss -3.4 rodata +2.6
09: cmd: env: check real location for env info command
10: configs: sandbox: Enable sub command 'env info'
11: test: env: add test for env info sub-command
12: env: add absolute path at CONFIG_ENV_EXT4_FILE
13: env: ext4: set gd->env_valid
14: env: sf: avoid space in backend name
aarch64: (for 5/5 boards) all -0.2 rodata -0.2
15: env: correctly handle env_load_prio
aarch64: (for 5/5 boards) all -8.0 spl/u-boot-spl:all -1.6 spl/u-boot-spl:text -1.6 text -8.0
arm: (for 7/7 boards) all -2.3 bss +3.4 spl/u-boot-spl:all -1.7 spl/u-boot-spl:text -1.7 text -5.7
16: env: nowhere: add .load ops
17: env: the ops driver load becomes mandatory in struct env_driver
18: cmd: env: add env load command
19: cmd: env: add env select command
20: configs: sandbox: activate env in ext4 support
21: configs: sandbox: activate command env select and env load
22: test: environment in ext4
23: env: ext4: introduce new function env_ext4_save_buffer
24: env: ext4: add support of command env erase
25: test: sandbox: add test for erase command
-------------------------------------------------
In this serie, I add sandbox test with CONFIG_ENV_IS_NOWHERE
activated with EXT4 location: load, save and erase.
To test this feature, I add 2 new commands to change the
ENV location:
- env select [target]
- env load
To be able to test invalid file (bad CRC), I also add the support of
the command "env erase" for EXT4 env location.
[1] http://patchwork.ozlabs.org/project/uboot/list/?series=185725
[2] http://patchwork.ozlabs.org/project/uboot/patch/20200625075958.9868-6-patrick.delaunay@st.com/
Regards
Patrick
Changes in v4:
- don't use env_import in SPL to avoid to increase its size
as it is only required for 'env load' command
Changes in v3:
- new
- new
- new: add load ops in nowhere
- new: load operation becomes mandatory
- new: add 'env load' command
- new: add 'env select' command
- change env_get_location to avoid gd->env_load_prio modification
- replace specific sandbox command by generic command
'env select' and 'env load'
- change title "sandbox: support the change of env location"
- replace specific sandbox command by generic command
'env select' and 'env load'
- update after Stephen Warren comments
- replace sandbox command by generic command 'env load' in test_env
Changes in v2:
- change cmd_tbl_t to struct cmd_tbl
- use CONFIG_IS_ENABLED to set .erase (same as .save)
Patrick Delaunay (14):
env: add absolute path at CONFIG_ENV_EXT4_FILE
env: ext4: set gd->env_valid
env: sf: avoid space in backend name
env: correctly handle env_load_prio
env: nowhere: add .load ops
env: the ops driver load becomes mandatory in struct env_driver
cmd: env: add env load command
cmd: env: add env select command
configs: sandbox: activate env in ext4 support
configs: sandbox: activate command env select and env load
test: environment in ext4
env: ext4: introduce new function env_ext4_save_buffer
env: ext4: add support of command env erase
test: sandbox: add test for erase command
board/sandbox/sandbox.c | 15 ++++
cmd/Kconfig | 11 +++
cmd/nvedit.c | 29 ++++++++
configs/sandbox64_defconfig | 7 ++
configs/sandbox_defconfig | 7 ++
configs/sandbox_flattree_defconfig | 7 ++
configs/sandbox_spl_defconfig | 7 ++
env/Kconfig | 2 +-
env/env.c | 80 ++++++++++++++++++--
env/ext4.c | 54 ++++++++++++--
env/nowhere.c | 17 +++++
env/sf.c | 2 +-
include/env.h | 15 +++-
include/env_internal.h | 3 +-
test/py/tests/test_env.py | 113 ++++++++++++++++++++++++++++-
15 files changed, 349 insertions(+), 20 deletions(-)
--
2.17.1
More information about the U-Boot
mailing list