[Concept,00/24] boot: efi: Various improvements to booting with the EFI app

Message ID 20250922180116.3088502-1-sjg@u-boot.org
Headers
Series boot: efi: Various improvements to booting with the EFI app |

Message

Simon Glass Sept. 22, 2025, 6 p.m. UTC
  From: Simon Glass <sjg@chromium.org>

This series provides a number of tweaks which make it easier to test
booting with the EFI app, particularly on ARM:

- 'fake go' in bootstd
- more debugging in various places
- tidy up the generally incorrect ATAGs error
- drop a panic() in the bowels of boot
- ensure booti does not overwrite memory when relocating

It also includes a way to quit or disable the pager, which is very
helpful when running the app on a machine with no serial console.

Finally, a bug in the release script is causing CI to fail, so a few
patches deal with that.


Simon Glass (24):
  doc: Resolve a formatting error in upcoming releases
  scripts: Fix RST formatting in release_version.py
  console: Restore old pager test-bypass value
  console: Correct condition for setting enabled pager bypass
  console: Add bypass keypress to disable paging
  console: Add a way to quit pager with no further output
  boot: Provide a Kconfig to enable faking the boot
  boot: Select the fake-go state explicitly
  boot: Tidy up the bootflow flags
  boot: Provide a bootflow option to fake a boot
  boot: Drop hex prefix from the booti image-moving message
  boot: Show the ramdisk node when debugging
  boot: Support a fake go with pxe
  boot: Add more debugging around devicetree selection
  boot: Fix code formatting in fit_image_load()
  boot: Add more debugging in FIT-handling
  arm: Update boot_prep_linux() to return an error
  arm: bootm: Fix a confusing message about ATAGs
  lmb: Provide a static inline for lmb_alloc()
  arm: Use lmb when relocating the image
  efi: Include efi.h in the efi_variable.h header
  efi: app: Call efi_exit() if board_init_r() returns
  efi: app: Move efi_main() to the bottom of the file
  efi: app: arm: Add various options to the build

 arch/arm/lib/bootm.c                 |  22 +++-
 arch/arm/lib/image.c                 |  15 ++-
 boot/Kconfig                         |   8 ++
 boot/bootm.c                         |  16 ++-
 boot/ext_pxe_common.c                |   4 +
 boot/image-board.c                   |   7 +-
 boot/image-fdt.c                     |   3 +
 boot/image-fit.c                     |  12 +-
 boot/pxe_utils.c                     |  21 +++-
 cmd/bootflow.c                       |  16 ++-
 cmd/booti.c                          |   2 +-
 common/cli_readline.c                |   1 +
 common/console.c                     |   2 +-
 common/pager.c                       |  56 +++++++--
 configs/efi-arm_app64_defconfig      |   5 +
 doc/develop/concept_releases.rst     |   3 +-
 doc/usage/cmd/bootflow.rst           |   3 +
 doc/usage/cmd/bootm.rst              |   3 +-
 doc/usage/console.rst                |   6 +-
 include/bootflow.h                   |  14 ++-
 include/efi_variable.h               |   1 +
 include/image.h                      |   3 +-
 include/lmb.h                        |   9 ++
 include/pager.h                      |  22 ++++
 include/pxe_utils.h                  |   2 +
 lib/efi_client/efi_app.c             | 113 +++++++++---------
 scripts/release_version.py           |   3 +-
 test/common/pager.c                  |  93 ++++++++++++++-
 test/scripts/test_release_version.py | 164 +++++++++++++++++++++++++++
 test/test-main.c                     |   6 +-
 30 files changed, 519 insertions(+), 116 deletions(-)