/* Initialize the GOT pointer */
lddpc r6, got_init
3: rsub r6, pc
- ld.w pc, r6[start_u_boot@got]
+ ld.w pc, r6[board_init_f@got]
.align 2
.type sp_init,@object
printf("at address 0x%08lx\n", gd->bd->bi_flashstart);
}
-void start_u_boot (void)
+void board_init_f(ulong unused)
{
gd_t gd_data;
memset(&gd_data, 0, sizeof(gd_data));
gd = &gd_data;
- monitor_flash_len = _edata - _text;
-
/* Perform initialization sequence */
cpu_init();
timer_init();
serial_init();
console_init_f();
display_banner();
-
board_init_memories();
- mem_malloc_init();
+ board_init_r(gd, CFG_MONITOR_BASE);
+}
+
+void board_init_r(gd_t *new_gd, ulong dest_addr)
+{
+ gd = new_gd;
+
+ monitor_flash_len = _edata - _text;
+
+ mem_malloc_init();
gd->bd = malloc(sizeof(bd_t));
memset(gd->bd, 0, sizeof(bd_t));
gd->bd->bi_baudrate = gd->baudrate;