u-boot/env
Tom Rini 9565771076 Merge patch series "bootm: Refactoring to reduce reliance on CMDLINE (part A)"
To quote the author:

It would be useful to be able to boot an OS when CONFIG_CMDLINE is
disabled. This could allow reduced code size.

Standard boot provides a way to handle programmatic boot, without
scripts, so such a feature is possible. The main impediment is the
inability to use the booting features of U-Boot without a command line.
So the solution is to avoid passing command arguments and the like to
code in boot/

A similar process has taken place with filesystems, for example, where
we have (somewhat) separate Kconfig options for the filesystem commands
and the filesystems themselves.

This series starts the process of refactoring the bootm logic so that
it can be called from standard boot without using the command line.
Mostly it removes the use of argc, argv and cmdtbl from the internal
logic.

Some limited tidy-up is included, but this is kept to smaller patches,
rather than trying to remove all #ifdefs etc. Some function comments
are added, however.

A simple programmatic boot is provided as a starting point.

This work will likely take many series, so this is just the start.

Size growth with this series for firefly-rk3288 (Thumb2) is:

       arm: (for 1/1 boards) all +23.0 rodata -49.0 text +72.0

This should be removed by:

   https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/11

but it is not included in this series as it is already large enough.

No functional change is intended in this series.

Changes in v3:
- Add a panic if programmatic boot fails
- Drop RFC tag

Changes in v2:
- Add new patch to adjust position of unmap_sysmem() in boot_get_kernel()
- Add new patch to obtain command arguments
- Fix 'boot_find_os' typo
- Pass in the command name
- Use the command table to provide the command name, instead of "bootm"
2023-12-13 11:51:53 -05:00
..
attr.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
callback.c env: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:24 -04:00
common.c env: Move env_set() out of cmd/nvedit.c and in to env/common.c 2023-11-07 14:48:19 -05:00
eeprom.c env: eeprom: Remove CONFIG_I2C_ENV_EEPROM_BUS support 2022-12-22 10:31:48 -05:00
embedded.c env: Rework ENV_IS_EMBEDDED and related logic slightly 2022-12-22 10:31:47 -05:00
env.c env: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:24 -04:00
ext4.c fs: ext4: Remove unused parameter from ext4_mount 2023-11-16 18:53:09 -05:00
fat.c Add SCSI scan for ENV in EXT4 or FAT 2022-07-08 09:05:47 -04:00
flags.c env: Couple networking-related variable flags to CONFIG_NET 2023-02-10 11:24:08 -05:00
flash.c Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
Kconfig env: Improve ENV_OFFSET help message 2023-10-11 13:22:32 -04:00
Makefile env: Drop ENV_IS_IN_SATA 2023-02-07 14:33:48 -05:00
mmc.c mmc: env: Unify the U_BOOT_ENV_LOCATION conditions 2023-12-13 11:51:24 -05:00
nand.c Convert CONFIG_ENV_RANGE to Kconfig 2022-06-28 17:11:48 -04:00
nowhere.c env: nowhere: Cosmetic fix 2021-10-31 12:26:44 -06:00
nvram.c env: nvram: Drop CONFIG_SYS_NVRAM_ACCESS_ROUTINE 2022-12-22 10:31:48 -05:00
onenand.c mtd: Remove mtd_erase_callback() entirely 2021-10-23 15:47:33 +05:30
remote.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
sf.c Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
ubi.c env: ubi: add support of command env erase 2023-01-11 15:02:24 -05:00