u-boot/boot
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
..
android_ab.c crc32: Drop duplicates crc header includes 2023-08-08 17:41:52 -04:00
boot_fit.c global: Use proper project name U-Boot 2023-06-12 13:24:31 +02:00
bootdev-uclass.c bootstd: Skip over bad device during bootflows scanning 2023-11-10 11:01:50 -05:00
bootflow.c bootstd: Avoid freeing a non-allocated buffer 2023-11-17 11:58:26 -05:00
bootflow_internal.h bootstd: Support creating a boot menu 2023-01-16 18:26:50 -05:00
bootflow_menu.c expo: Rename exp_set_text_mode() 2023-07-14 12:54:51 -04:00
bootm.c command: Introduce functions to obtain command arguments 2023-12-13 11:51:24 -05:00
bootm_os.c bootm: optee: Drop special call to bootm_find_other() 2023-12-13 11:51:24 -05:00
bootmeth-uclass.c bootstd: Add a command to read all files for a bootflow 2023-08-11 07:33:38 -06:00
bootmeth_cros.c bootstd: cros: Correct condition for read method 2023-11-01 12:26:44 -04:00
bootmeth_cros.h bootstd: cros: Bring in some ChromiumOS structures 2023-08-10 18:34:54 -06:00
bootmeth_efi.c bootstd: Avoid freeing a non-allocated buffer 2023-11-17 11:58:26 -05:00
bootmeth_efi_mgr.c bootstd: Make efi_mgr bootmeth work for non-sandbox setups 2023-11-01 12:26:44 -04:00
bootmeth_extlinux.c bootstd: Adjust the default bootmeth order 2023-08-28 15:59:22 -04:00
bootmeth_pxe.c bootstd: Init the size before reading extlinux file 2023-08-03 15:30:54 -04:00
bootmeth_qfw.c bootstd: Correct the name of the QEMU bootmeth 2023-07-16 23:13:17 +08:00
bootmeth_sandbox.c bootstd: Rename distro and syslinux to extlinux 2023-05-13 09:52:32 -04:00
bootmeth_script.c bootstd: sata: Add bootstd support for ahci sata 2023-10-23 13:07:12 -04:00
bootretry.c cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
bootstd-uclass.c bootstd: Remove special-case code for boot_targets 2023-01-23 18:11:39 -05:00
cedit.c expo: Plumb in textline to cedit 2023-10-11 15:43:55 -04:00
common_fit.c Create a new boot/ directory 2021-11-11 19:01:56 -05:00
expo.c expo: Correct background colour 2023-11-14 20:04:00 -07:00
expo_build.c expo: Support building an expo with a textline 2023-10-11 15:43:55 -04:00
fdt_region.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
fdt_simplefb.c Move fdt_simplefb to boot/ 2023-09-19 11:36:25 -04:00
fdt_support.c boot: Fix syntax in fdt_overlay_apply_verbose() error message 2023-11-10 11:01:50 -05:00
image-android-dt.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
image-android.c android: boot: support bootconfig 2023-04-04 14:50:47 -04:00
image-board.c bootm: Reduce arguments to boot_get_loadables() 2023-12-13 11:51:24 -05:00
image-cipher.c Create a new boot/ directory 2021-11-11 19:01:56 -05:00
image-fdt.c bootm: Reduce arguments to boot_get_fdt() 2023-12-13 11:51:24 -05:00
image-fit-sig.c mkimage: fit: Fix signing of configs with external data 2022-10-26 11:36:06 -04:00
image-fit.c image: Allow loading a FIT image for a particular phase 2022-10-31 11:02:45 -04:00
image-host.c Create a new boot/ directory 2021-11-11 19:01:56 -05:00
image-pre-load.c boot: image-pre-load: Check environment for location of signature info 2022-10-11 15:40:48 -04:00
image-sig.c boot: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:24 -04:00
image.c tools: mkimage: Add StarFive SPL image support 2023-09-20 21:05:14 +08:00
Kconfig bootstd: Introduce programmatic boot 2023-12-13 11:51:24 -05:00
Makefile bootstd: Introduce programmatic boot 2023-12-13 11:51:24 -05:00
prog_boot.c bootstd: Introduce programmatic boot 2023-12-13 11:51:24 -05:00
pxe_utils.c x86: pxeboot: bugfix: Set variable for size of initrd 2023-09-22 06:03:46 +08:00
scene.c expo: Plumb in textlines to a scene 2023-10-11 15:43:55 -04:00
scene_internal.h expo: Plumb in textlines to a scene 2023-10-11 15:43:55 -04:00
scene_menu.c expo: Allow rendering the background of any object 2023-10-11 15:43:55 -04:00
scene_textline.c expo: Support opening a textline 2023-10-11 15:43:55 -04:00
vbe.c boot: fix vbe_find_first_device() 2022-08-26 16:32:59 -06:00
vbe_request.c dm: core: Reverse the argument order in ofnode_copy_props() 2023-10-06 14:38:12 -04:00
vbe_simple.c boot: vbe_simple: Fix vbe_simple_read_bootflow() dependency 2023-04-28 11:30:17 -06:00
vbe_simple.h vbe: Move OS implementation into a separate file 2022-10-31 11:03:36 -04:00
vbe_simple_fw.c bootstd: Treat DHCP and PXE as bootdev labels 2023-01-23 18:11:41 -05:00
vbe_simple_os.c dm: core: Reverse the argument order in ofnode_copy_props() 2023-10-06 14:38:12 -04:00