mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02:00
arm: init: save previous bootloader data
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 Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com> Cc: Tom Rini <trini@konsulko.com>
This commit is contained in:
committed by
Tom Rini
parent
5c9b420ada
commit
12a3e1ada0
@@ -445,6 +445,11 @@ static int initr_env(void)
|
||||
env_set_hex("fdtcontroladdr",
|
||||
(unsigned long)map_to_sysmem(gd->fdt_blob));
|
||||
|
||||
#if (CONFIG_IS_ENABLED(SAVE_PREV_BL_INITRAMFS_START_ADDR) || \
|
||||
CONFIG_IS_ENABLED(SAVE_PREV_BL_FDT_ADDR))
|
||||
save_prev_bl_data();
|
||||
#endif
|
||||
|
||||
/* Initialize from environment */
|
||||
image_load_addr = env_get_ulong("loadaddr", 16, image_load_addr);
|
||||
|
||||
|
Reference in New Issue
Block a user