X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=common%2Fboard_f.c;h=46e52849fb80f9a5a12a1b8ed0182d6fc02e9b75;hb=824bb1b45371efcb10561456e894d7c2fa1a4b88;hp=a8fc28cf4b2413c7f8f600743c9426870ff7022e;hpb=9d2542d062da9e1e3934f504b4d769998a76c991;p=platform%2Fkernel%2Fu-boot.git diff --git a/common/board_f.c b/common/board_f.c index a8fc28c..46e5284 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -707,11 +707,26 @@ static int jump_to_copy(void) /* Record the board_init_f() bootstage (after arch_cpu_init()) */ static int initf_bootstage(void) { +#if defined(CONFIG_SPL_BOOTSTAGE) && defined(CONFIG_BOOTSTAGE_STASH) + bool from_spl = true; +#else + bool from_spl = false; +#endif int ret; - ret = bootstage_init(true); + ret = bootstage_init(!from_spl); if (ret) return ret; + if (from_spl) { + const void *stash = map_sysmem(CONFIG_BOOTSTAGE_STASH_ADDR, + CONFIG_BOOTSTAGE_STASH_SIZE); + + ret = bootstage_unstash(stash, CONFIG_BOOTSTAGE_STASH_SIZE); + if (ret && ret != -ENOENT) { + debug("Failed to unstash bootstage: err=%d\n", ret); + return ret; + } + } bootstage_mark_name(BOOTSTAGE_ID_START_UBOOT_F, "board_init_f");