mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
bootstage: Allow SPL to obtain bootstage info from TPL
It is possible to enable bootstage in TPL. TPL can stash the info for SPL. But at present this information is then lost because SPL does not read from the stash. Add support for SPL not being the first phase to enable bootstage. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
5256beecb8
commit
31f9f0ea57
1 changed files with 13 additions and 1 deletions
|
@ -18,6 +18,7 @@
|
|||
#include <version.h>
|
||||
#include <image.h>
|
||||
#include <malloc.h>
|
||||
#include <mapmem.h>
|
||||
#include <dm/root.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <fdt_support.h>
|
||||
|
@ -396,12 +397,23 @@ static int spl_common_init(bool setup_malloc)
|
|||
gd->malloc_ptr = 0;
|
||||
}
|
||||
#endif
|
||||
ret = bootstage_init(true);
|
||||
ret = bootstage_init(u_boot_first_phase());
|
||||
if (ret) {
|
||||
debug("%s: Failed to set up bootstage: ret=%d\n", __func__,
|
||||
ret);
|
||||
return ret;
|
||||
}
|
||||
#ifdef CONFIG_BOOTSTAGE_STASH
|
||||
if (!u_boot_first_phase()) {
|
||||
const void *stash = map_sysmem(CONFIG_BOOTSTAGE_STASH_ADDR,
|
||||
CONFIG_BOOTSTAGE_STASH_SIZE);
|
||||
|
||||
ret = bootstage_unstash(stash, CONFIG_BOOTSTAGE_STASH_SIZE);
|
||||
if (ret)
|
||||
debug("%s: Failed to unstash bootstage: ret=%d\n",
|
||||
__func__, ret);
|
||||
}
|
||||
#endif /* CONFIG_BOOTSTAGE_STASH */
|
||||
bootstage_mark_name(spl_phase() == PHASE_TPL ? BOOTSTAGE_ID_START_TPL :
|
||||
BOOTSTAGE_ID_START_SPL, SPL_TPL_NAME);
|
||||
#if CONFIG_IS_ENABLED(LOG)
|
||||
|
|
Loading…
Add table
Reference in a new issue