When u-boot is used as a chain-loaded bootloader (replacing OS kernel), previous bootloader leaves data in RAM, that can be reused.
For example, on recent arm linux system, when chainloading u-boot, there are initramfs and fdt in RAM prepared for OS booting. Initramfs may be modified to store u-boot's payload, thus providing the ability to use chainloaded u-boot to boot OS without any storage support. Two config options added: - SAVE_PREV_BL_INITRAMFS_START_ADDR saves initramfs start address to 'prevbl_initrd_start_addr' environment variable - SAVE_PREV_BL_FDT_ADDR saves fdt address to 'prevbl_fdt_addr' environment variable This feature will be used for axy17lte and starqltechn boards for now, and more phones in future. Dzmitry Sankouski (3): arm: init: save previous bootloader data board: starqltechn: get board usable - add bootcmd and docs board: axy17lte: get board usable - add bootcmd and docs arch/arm/lib/Makefile | 2 + arch/arm/lib/save_prev_bl_data.c | 93 +++++++++++++++++++++++++++++ boot/Kconfig | 79 +++++++++++++++--------- configs/a3y17lte_defconfig | 12 ++-- configs/a5y17lte_defconfig | 13 ++-- configs/a7y17lte_defconfig | 13 ++-- configs/starqltechn_defconfig | 13 ++-- doc/board/qualcomm/sdm845.rst | 47 ++++++++++++++- doc/board/samsung/axy17lte.rst | 15 +---- include/configs/exynos78x0-common.h | 4 ++ include/configs/sdm845.h | 5 ++ include/init.h | 13 ++++ 12 files changed, 250 insertions(+), 59 deletions(-) create mode 100644 arch/arm/lib/save_prev_bl_data.c -- 2.20.1