aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2023-12-13 11:51:53 -0500
committerTom Rini <trini@konsulko.com>2023-12-13 11:51:53 -0500
commit9565771076c2d4b0193f1741b3990695ac33c1f3 (patch)
tree076f2a305250c83e4e3c5acf0e6492507d10babb /README
parentbfe3c7b93b9e722340e0e4950e886a46ba41244e (diff)
parent8632b36b96d38a85f2e71603a6f90ec9e4e5e37e (diff)
downloadu-boot-9565771076c2d4b0193f1741b3990695ac33c1f3.zip
u-boot-9565771076c2d4b0193f1741b3990695ac33c1f3.tar.gz
u-boot-9565771076c2d4b0193f1741b3990695ac33c1f3.tar.bz2
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"
Diffstat (limited to 'README')
-rw-r--r--README26
1 files changed, 18 insertions, 8 deletions
diff --git a/README b/README
index 00d4227..ab4cda5 100644
--- a/README
+++ b/README
@@ -1544,16 +1544,26 @@ Low Level (hardware related) configuration options:
globally (CONFIG_CMD_MEMORY).
- CONFIG_SPL_BUILD
- Set when the currently-running compilation is for an artifact
- that will end up in the SPL (as opposed to the TPL or U-Boot
- proper). Code that needs stage-specific behavior should check
- this.
+ Set when the currently running compilation is for an artifact
+ that will end up in one of the 'xPL' builds, i.e. SPL, TPL or
+ VPL. Code that needs phase-specific behaviour can check this,
+ or (where possible) use spl_phase() instead.
+
+ Note that CONFIG_SPL_BUILD *is* always defined when either
+ of CONFIG_TPL_BUILD / CONFIG_VPL_BUILD is defined. This can be
+ counter-intuitive and should perhaps be changed.
- CONFIG_TPL_BUILD
- Set when the currently-running compilation is for an artifact
- that will end up in the TPL (as opposed to the SPL or U-Boot
- proper). Code that needs stage-specific behavior should check
- this.
+ Set when the currently running compilation is for an artifact
+ that will end up in the TPL build (as opposed to SPL, VPL or
+ U-Boot proper). Code that needs phase-specific behaviour can
+ check this, or (where possible) use spl_phase() instead.
+
+- CONFIG_VPL_BUILD
+ Set when the currently running compilation is for an artifact
+ that will end up in the VPL build (as opposed to the SPL, TPL
+ or U-Boot proper). Code that needs phase-specific behaviour can
+ check this, or (where possible) use spl_phase() instead.
- CONFIG_ARCH_MAP_SYSMEM
Generally U-Boot (and in particular the md command) uses