u-boot/fs
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
..
btrfs fs: btrfs: fix reading when length specified 2023-11-16 18:59:58 -05:00
cbfs spl: Ensure all SPL symbols in Kconfig have some SPL dependency 2022-07-07 09:29:08 -04:00
cramfs cramfs: clean up some error messages 2023-08-08 17:41:52 -04:00
erofs fs/erofs: Quieten test for filesystem presence 2023-08-19 04:12:52 +02:00
ext4 fs: ext4: Remove unused parameter from ext4_mount 2023-11-16 18:53:09 -05:00
fat fs: fat: add bootsector validity check 2023-11-28 20:10:25 -05:00
jffs2 fs: jffs2: Move SYS_JFFS2_SORT_FRAGMENTS to Kconfig 2022-11-10 09:45:54 -05:00
reiserfs common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
sandbox bootstd: Use bootdev instead of bootdevice 2023-07-16 23:13:17 +08:00
squashfs fs/squashfs: enable LZ4 compression support 2023-11-16 18:53:09 -05:00
ubifs treewide: use linux/time.h for time conversion defines 2023-11-16 18:59:58 -05:00
yaffs2 common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
zfs common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
fs.c command: Introduce functions to obtain command arguments 2023-12-13 11:51:24 -05:00
fs_internal.c fs: Quieten down the filesystems more 2022-10-17 21:17:12 -06:00
Kconfig bootstd: sandbox: Add a hostfs bootdev 2022-04-25 10:00:04 -04:00
Makefile fs: Add semihosting filesystem 2022-04-01 15:03:13 -04:00
semihostingfs.c semihosting: create file in smh_fs_write_at() 2023-05-31 17:23:01 -04:00