summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Retanubun <RichardRetanubun@RuggedCom.com>2010-01-15 10:06:06 -0500
committerWolfgang Denk <wd@denx.de>2010-03-11 23:49:16 +0100
commit4b99327a4121a28d2bdb2c2b841f5d97931ae905 (patch)
treea55f0661809ca14930ad43beea6660a45cb1e27a
parent8c4444ff5e1d8e9fd1a847a2fb096aa9aff66f85 (diff)
PPC: Record U-Boot's relocated address in RAM and show in bdinfo.
This patch uses gd->relocaddr variable to store uboot's relocated address in RAM and shows it in bdinfo command. This patch moves CONFIG_AMIGAONEG3SE style copying of the address in board_init_f to just before relocation is actually done. Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com> Tested-by: Detlev Zundel <dzu@denx.de>
-rw-r--r--common/cmd_bdinfo.c1
-rw-r--r--include/asm-ppc/global_data.h2
-rw-r--r--lib_ppc/board.c6
3 files changed, 3 insertions, 6 deletions
diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
index 11c154731e..f8400bcc04 100644
--- a/common/cmd_bdinfo.c
+++ b/common/cmd_bdinfo.c
@@ -115,6 +115,7 @@ int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
#endif
printf ("IP addr = %pI4\n", &bd->bi_ip_addr);
printf ("baudrate = %6ld bps\n", bd->bi_baudrate );
+ print_num ("relocaddr", gd->relocaddr);
return 0;
}
diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h
index 3f11918746..d3dd44e96d 100644
--- a/include/asm-ppc/global_data.h
+++ b/include/asm-ppc/global_data.h
@@ -152,9 +152,7 @@ typedef struct global_data {
defined(CONFIG_SANDPOINT)
void * console_addr;
#endif
-#ifdef CONFIG_AMIGAONEG3SE
unsigned long relocaddr; /* Start address of U-Boot in RAM */
-#endif
#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)
unsigned long fb_base; /* Base address of framebuffer memory */
#endif
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index 2889b2c2c5..a30acee4fe 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -477,10 +477,6 @@ void board_init_f (ulong bootflag)
debug ("Reserving %ldk for U-Boot at: %08lx\n", len >> 10, addr);
-#ifdef CONFIG_AMIGAONEG3SE
- gd->relocaddr = addr;
-#endif
-
/*
* reserve memory for malloc() arena
*/
@@ -612,6 +608,8 @@ void board_init_f (ulong bootflag)
WATCHDOG_RESET();
+ gd->relocaddr = addr; /* Record relocation address, useful for debug */
+
memcpy (id, (void *)gd, sizeof (gd_t));
relocate_code (addr_sp, id, addr);