[U-Boot] [PATCH v2 4/7] Add bootgraph instrumentation for ARM boards
Andrew Murray
amurray at theiet.org
Sat Sep 10 14:37:04 CEST 2011
From: Andrew Murray <amurray at mpcdata.com>
This patch adds bootgraph instrumentation for ARM boards.
---
Changes for v2:
- Use improvde DO_INITCALL_RET macro
- Fix compiler warnings
Signed-off-by: Andrew Murray <amurray at theiet.org>
---
arch/arm/lib/board.c | 26 +++++++++++++++++---------
1 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index 169dfeb..7b09bf1 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -282,7 +282,7 @@ void board_init_f (ulong bootflag)
gd->mon_len = _bss_end_ofs;
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
- if ((*init_fnc_ptr)() != 0) {
+ if (DO_INITCALL_RET(*init_fnc_ptr) != 0) {
hang ();
}
}
@@ -416,6 +416,9 @@ void board_init_f (ulong bootflag)
debug ("relocation Offset is: %08lx\n", gd->reloc_off);
memcpy (id, (void *)gd, sizeof (gd_t));
+#if defined(CONFIG_BOOT_TRACE)
+ printf("performing relocate to ram to 0x%08lx\n", addr);
+#endif
relocate_code (addr_sp, id, addr);
/* NOTREACHED - relocate_code() does not return */
@@ -444,6 +447,10 @@ void board_init_r (gd_t *id, ulong dest_addr)
ulong flash_size;
#endif
+#if defined(CONFIG_BOOT_TRACE)
+ printf("completed relocate to ram\n");
+#endif
+
gd = id;
bd = gd->bd;
@@ -451,7 +458,8 @@ void board_init_r (gd_t *id, ulong dest_addr)
monitor_flash_len = _end_ofs;
debug ("monitor flash len: %08lX\n", monitor_flash_len);
- board_init(); /* Setup chipselects */
+
+ DO_INITCALL(board_init); /* Setup chipselects */
#ifdef CONFIG_SERIAL_MULTI
serial_initialize();
@@ -499,7 +507,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
#if defined(CONFIG_CMD_NAND)
puts ("NAND: ");
- nand_init(); /* go init the NAND */
+ DO_INITCALL(nand_init); /* go init the NAND */
#endif
#if defined(CONFIG_CMD_ONENAND)
@@ -508,7 +516,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
#ifdef CONFIG_GENERIC_MMC
puts("MMC: ");
- mmc_initialize(bd);
+ DO_INITCALL(mmc_initialize, bd);
#endif
#ifdef CONFIG_HAS_DATAFLASH
@@ -517,7 +525,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
#endif
/* initialize environment */
- env_relocate ();
+ DO_INITCALL(env_relocate);
#if defined(CONFIG_CMD_PCI) || defined(CONFIG_PCI)
arm_pci_init();
@@ -526,16 +534,16 @@ void board_init_r (gd_t *id, ulong dest_addr)
/* IP Address */
gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
- stdio_init (); /* get the devices list going. */
+ DO_INITCALL(stdio_init); /* get the devices list going. */
- jumptable_init ();
+ DO_INITCALL(jumptable_init);
#if defined(CONFIG_API)
/* Initialize API */
api_init ();
#endif
- console_init_r (); /* fully init console as a device */
+ DO_INITCALL(console_init_r); /* fully init console as a device */
#if defined(CONFIG_ARCH_MISC_INIT)
/* miscellaneous arch dependent initialisations */
@@ -543,7 +551,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
#endif
#if defined(CONFIG_MISC_INIT_R)
/* miscellaneous platform dependent initialisations */
- misc_init_r ();
+ DO_INITCALL(misc_init_r);
#endif
/* set up exceptions */
--
1.7.4.1
More information about the U-Boot
mailing list