
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