|
@@ -627,13 +627,8 @@ void board_init_f (ulong bootflag)
|
|
|
*/
|
|
|
void board_init_r (gd_t *id, ulong dest_addr)
|
|
|
{
|
|
|
- cmd_tbl_t *cmdtp;
|
|
|
char *s;
|
|
|
bd_t *bd;
|
|
|
- extern void malloc_bin_reloc (void);
|
|
|
-#ifndef CONFIG_ENV_IS_NOWHERE
|
|
|
- extern char * env_name_spec;
|
|
|
-#endif
|
|
|
ulong malloc_start;
|
|
|
|
|
|
#ifndef CONFIG_SYS_NO_FLASH
|
|
@@ -646,18 +641,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
|
|
|
gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */
|
|
|
|
|
|
/* The Malloc area is immediately below the monitor copy in DRAM */
|
|
|
-#if defined(CONFIG_RELOC_FIXUP_WORKS)
|
|
|
- gd->reloc_off = 0;
|
|
|
malloc_start = dest_addr - TOTAL_MALLOC_LEN;
|
|
|
-#else
|
|
|
- gd->reloc_off = dest_addr - CONFIG_SYS_MONITOR_BASE;
|
|
|
- malloc_start = CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
|
|
|
- TOTAL_MALLOC_LEN;
|
|
|
-#endif
|
|
|
-
|
|
|
-#if defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
|
|
|
- gd->cpu += gd->reloc_off;
|
|
|
-#endif
|
|
|
|
|
|
#ifdef CONFIG_SERIAL_MULTI
|
|
|
serial_initialize();
|
|
@@ -682,38 +666,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
|
|
|
|
|
|
monitor_flash_len = (ulong)&__init_end - dest_addr;
|
|
|
|
|
|
- /*
|
|
|
- * We have to relocate the command table manually
|
|
|
- */
|
|
|
- for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) {
|
|
|
- ulong addr;
|
|
|
- addr = (ulong) (cmdtp->cmd) + gd->reloc_off;
|
|
|
-#if 0
|
|
|
- printf ("Command \"%s\": 0x%08lx => 0x%08lx\n",
|
|
|
- cmdtp->name, (ulong) (cmdtp->cmd), addr);
|
|
|
-#endif
|
|
|
- cmdtp->cmd =
|
|
|
- (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr;
|
|
|
-
|
|
|
- addr = (ulong)(cmdtp->name) + gd->reloc_off;
|
|
|
- cmdtp->name = (char *)addr;
|
|
|
-
|
|
|
- if (cmdtp->usage) {
|
|
|
- addr = (ulong)(cmdtp->usage) + gd->reloc_off;
|
|
|
- cmdtp->usage = (char *)addr;
|
|
|
- }
|
|
|
-#ifdef CONFIG_SYS_LONGHELP
|
|
|
- if (cmdtp->help) {
|
|
|
- addr = (ulong)(cmdtp->help) + gd->reloc_off;
|
|
|
- cmdtp->help = (char *)addr;
|
|
|
- }
|
|
|
-#endif
|
|
|
- }
|
|
|
- /* there are some other pointer constants we must deal with */
|
|
|
-#ifndef CONFIG_ENV_IS_NOWHERE
|
|
|
- env_name_spec += gd->reloc_off;
|
|
|
-#endif
|
|
|
-
|
|
|
WATCHDOG_RESET ();
|
|
|
|
|
|
#ifdef CONFIG_LOGBUFFER
|
|
@@ -721,7 +673,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
|
|
|
#endif
|
|
|
#ifdef CONFIG_POST
|
|
|
post_output_backlog ();
|
|
|
- post_reloc ();
|
|
|
#endif
|
|
|
|
|
|
WATCHDOG_RESET();
|
|
@@ -752,7 +703,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
|
|
|
asm ("sync ; isync");
|
|
|
|
|
|
mem_malloc_init (malloc_start, TOTAL_MALLOC_LEN);
|
|
|
- malloc_bin_reloc ();
|
|
|
|
|
|
#if !defined(CONFIG_SYS_NO_FLASH)
|
|
|
puts ("FLASH: ");
|