[PATCH 00/19] vbe: Series part G

Simon Glass sjg at chromium.org
Sun Jan 26 19:43:10 CET 2025


This includes the VBE ABrec (A/B/recovery) implementation as well as a
number of patches needed to make it work:

- marking some code as used by SPL_RELOC
- selection of images from a FIT based on the boot phase
- removal of unwanted hash code which increases code-size too much
- a few Kconfig-related additions for VPL

Note: The goal for the next series (part H) is to enable VBE on
rk3399-generic, i.e. able to boot on multiple rk3399-based boards with
only the TPL phase being different for each board.


Simon Glass (19):
  mbedtls: Add SHA symbols for VPL
  sandbox: Update sandbox_vpl to select sha1 and sha256
  mmc: Allow controlling DM_MMC for VPL builds
  lib: Allow crc16 code to be dropped
  spl: Adjust debugging and xPL symbols
  spl: Avoid including hash algorithms which are not wanted
  spl: Support selecting images based on phase in simple FIT
  vbe: Support selecting images based on phase in FIT
  spl: Allow spl_load() to be controlled in any xPL phase
  spl: Provide a way to mark code needed for relocation
  lib: Mark crc8 as relocation code
  lib: Mark lz4 as relocation code
  lib: Mark memcpy() and memmove() as relocation code
  lib: Mark gunzip as relocation code
  vbe: Support providing a linker script
  vbe: Provide VPL binman-symbols for the next phase
  vbe: Tidy up a few comments
  vbe: Allow VBE to disable adding loadables to the FDT
  vbe: Add an implementation of VBE-ABrec

 MAINTAINERS                    |   7 +
 boot/Kconfig                   |  73 +++++++++
 boot/Makefile                  |   4 +
 boot/image-fit.c               |  29 ++--
 boot/vbe_abrec.c               |  83 ++++++++++
 boot/vbe_abrec.h               | 115 ++++++++++++++
 boot/vbe_abrec_fw.c            | 276 +++++++++++++++++++++++++++++++++
 boot/vbe_common.c              |  24 +--
 boot/vbe_common.h              |  43 +++++
 common/hash.c                  |  17 +-
 common/spl/Kconfig.vpl         |  13 ++
 common/spl/spl.c               |  26 +++-
 common/spl/spl_fit.c           |  40 +++--
 common/spl/spl_reloc.c         |   2 +-
 configs/sandbox_vpl_defconfig  |   2 +
 drivers/mmc/dw_mmc.c           |   4 +-
 include/asm-generic/sections.h |  16 ++
 include/spl.h                  |  19 ++-
 include/spl_load.h             |   9 +-
 include/vbe.h                  |  21 +++
 lib/Kconfig                    |  10 ++
 lib/Makefile                   |  11 +-
 lib/crc8.c                     |   5 +-
 lib/gunzip.c                   |   9 +-
 lib/lz4.c                      |  37 +++--
 lib/lz4_wrapper.c              |   2 +-
 lib/mbedtls/Kconfig            |  40 +++++
 lib/string.c                   |   5 +-
 lib/zlib/inflate.c             |  18 ++-
 tools/Kconfig                  |   5 +
 30 files changed, 879 insertions(+), 86 deletions(-)
 create mode 100644 boot/vbe_abrec.c
 create mode 100644 boot/vbe_abrec.h
 create mode 100644 boot/vbe_abrec_fw.c

-- 
2.43.0



More information about the U-Boot mailing list