From: Richard Retanubun Date: Fri, 15 Jan 2010 15:06:06 +0000 (-0500) Subject: PPC: Record U-Boot's relocated address in RAM and show in bdinfo. X-Git-Tag: v2010.03-rc1~13 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=4b99327a4121a28d2bdb2c2b841f5d97931ae905;p=u-boot 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 Tested-by: Detlev Zundel --- 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);