spl: Plumb in the relocating loader
This is fairly easy to use. The SPL loader sets up some fields in the spl_image_info struct and calls spl_reloc_prepare(). When SPL is ready to do the jump it must call spl_reloc_jump() instead of jump_to_image(). Add this logic. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -826,6 +826,18 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
|
||||
}
|
||||
|
||||
spl_board_prepare_for_boot();
|
||||
|
||||
if (CONFIG_IS_ENABLED(RELOC_LOADER)) {
|
||||
int ret;
|
||||
|
||||
ret = spl_reloc_jump(&spl_image, jump_to_image);
|
||||
if (ret) {
|
||||
if (xpl_phase() == PHASE_VPL)
|
||||
printf("jump failed %d\n", ret);
|
||||
hang();
|
||||
}
|
||||
}
|
||||
|
||||
jump_to_image(&spl_image);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user