[PATCH v2 00/21] Complete decoupling of bootm logic from commands

Simon Glass sjg at chromium.org
Thu Dec 14 17:50:09 CET 2023


This series continues refactoring the bootm code to allow it to be used
with CONFIG_COMMAND disabled. The OS-handling code is refactored and
a new bootm_run() function is created to run through the bootm stages.
This completes the work.

A booti_go() function is created also, in case it proves useful, but at
last for now standard boot does not use this.

This is cmdd (part d of CMDLINE refactoring)
It depends on dm/bootstda-working
which depends on dm/cmdc-working

Changes in v2:
- Add new patch to enable more bootm OS methods in sandbox
- Split addition of struct bootm_info to its own patch
- Split changing of boot_os_fn parameters to a separate patch
- Split out adding the rest of struct bootm_info fields to separate patch
- Split out patch to move do_bootm_states() comment to header
- Split out booti removal of #ifdef
- Split out bootz removal of #ifdef
- Adjust patch to focus just on dropping the do_bootm_states() arguments
- Split do_bootm_states() rename to a separate patch
- Rework series to allow OS access to cmdline arguments for bootm

Simon Glass (21):
  mips: Add a reset_cpu() function
  m68k: Add a reset_cpu() function
  ppc: Add a reset_cpu() function
  nios2: Add a reset_cpu() function
  riscv: Add a reset_cpu() function
  bootm: Adjust how the board is reset
  sandbox: bootm: Enable more bootm OS methods
  bootm: Create a struct for argument information
  bootm: Adjust arguments of boot_os_fn
  bootm: Add more fields to bootm_info
  bootm: Move do_bootm_states() comment to header file
  booti: Avoid use of #ifdef
  bootz: Avoid use of #ifdef
  bootm: Drop arguments from do_bootm_states()
  bootm: Rename do_bootm_states() to bootm_run_states()
  bootm: Tidy up boot_selected_os()
  bootm: Create a function to run through the bootm states
  stm32: Use local vars in stm32prog for initrd and fdt
  bootm: Create a function to run through the bootz states
  stm32: Use bootm_run() and bootz_run()
  bootm: Create a function to run through the booti states

 arch/arc/lib/bootm.c                          |   5 +-
 arch/arm/lib/bootm.c                          |   6 +-
 .../cmd_stm32prog/cmd_stm32prog.c             |  33 +++--
 arch/m68k/lib/bootm.c                         |   5 +-
 arch/m68k/lib/traps.c                         |   7 +
 arch/microblaze/lib/bootm.c                   |   6 +-
 arch/mips/cpu/cpu.c                           |   8 +-
 arch/mips/lib/bootm.c                         |   8 +-
 arch/nios2/cpu/cpu.c                          |   8 +-
 arch/nios2/lib/bootm.c                        |  10 +-
 arch/powerpc/lib/bootm.c                      |   5 +-
 arch/powerpc/lib/traps.c                      |  10 ++
 arch/riscv/cpu/cpu.c                          |  13 ++
 arch/riscv/lib/bootm.c                        |  11 +-
 arch/riscv/lib/reset.c                        |   7 +-
 arch/sandbox/cpu/cpu.c                        |   8 ++
 arch/sandbox/lib/bootm.c                      |   5 +-
 arch/sh/lib/bootm.c                           |   6 +-
 arch/x86/lib/bootm.c                          |   6 +-
 arch/xtensa/lib/bootm.c                       |   4 +-
 boot/bootm.c                                  | 133 ++++++++++--------
 boot/bootm_os.c                               |  78 +++++-----
 cmd/booti.c                                   |  55 +++++---
 cmd/bootm.c                                   |  43 ++++--
 cmd/bootz.c                                   |  35 +++--
 configs/sandbox_defconfig                     |   3 +-
 include/bootm.h                               | 124 ++++++++++++++--
 27 files changed, 440 insertions(+), 202 deletions(-)

-- 
2.43.0.472.g3155946c3a-goog



More information about the U-Boot mailing list