summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2012-02-13 13:51:21 +0000
committerWolfgang Denk <wd@denx.de>2012-03-18 21:43:17 +0100
commitf933e84e3497bddf29b8183ca6ee37a7a12e9ac3 (patch)
tree85217517391aed95264cf6bb9b8dd4186eaa1ffd
parent573f14fe4ed5b803207824be9e3147e894b68f8b (diff)
downloadu-boot-imx-f933e84e3497bddf29b8183ca6ee37a7a12e9ac3.zip
u-boot-imx-f933e84e3497bddf29b8183ca6ee37a7a12e9ac3.tar.gz
u-boot-imx-f933e84e3497bddf29b8183ca6ee37a7a12e9ac3.tar.bz2
bootstage: arm: Add bootstage calls in board and bootm
Add calls to bootstage before and after relocation, and just before jumping to the OS. The idea here is you can call bootstage_report() to get a report. Additionally, if you define CONFIG_BOOTSTAGE_REPORT then a report is printed automatically by U-Boot just before jumping to the kernel. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/arm/lib/board.c3
-rw-r--r--arch/arm/lib/bootm.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index 500e216..b9b35de 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -266,6 +266,8 @@ void board_init_f(ulong bootflag)
ulong reg;
#endif
+ bootstage_mark_name(BOOTSTAGE_ID_START_UBOOT_F, "board_init_f");
+
/* Pointer is writable since we allocated a register for it */
gd = (gd_t *) ((CONFIG_SYS_INIT_SP_ADDR) & ~0x07);
/* compiler optimization barrier needed for GCC >= 3.4 */
@@ -455,6 +457,7 @@ void board_init_r(gd_t *id, ulong dest_addr)
gd = id;
gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */
+ bootstage_mark_name(BOOTSTAGE_ID_START_UBOOT_R, "board_init_r");
monitor_flash_len = _end_ofs;
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index f114cd6..2961ab2 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -83,6 +83,10 @@ void arch_lmb_reserve(struct lmb *lmb)
static void announce_and_cleanup(void)
{
printf("\nStarting kernel ...\n\n");
+ bootstage_mark_name(BOOTSTAGE_ID_BOOTM_HANDOFF, "start_kernel");
+#ifdef CONFIG_BOOTSTAGE_REPORT
+ bootstage_report();
+#endif
#ifdef CONFIG_USB_DEVICE
{