[U-Boot] [PATCH V3] PPC: Record uboot's relocated address in RAM and show in bdinfo.

Detlev Zundel dzu at denx.de
Tue Feb 2 18:38:21 CET 2010


Hi Richard,

>>From 58e9529fa466ef79232398aeda69373125eb2aac Mon Sep 17 00:00:00 2001
> From: Richard Retanubun <RichardRetanubun at RuggedCom.com>
> Date: Fri, 15 Jan 2010 10:06:06 -0500
> Subject: [PATCH] PPC: Record uboot'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 at RuggedCom.com>
> ---
> Hi Detlev, 
>
> Sorry it took a while, got swamped with other tasks.
> I see your point and have made a patch per your request.

No problem, I know how it is.  Thanks for the patch!

Tested-by: Detlev Zundel <dzu at denx.de>

> Cheers,
>
> -Richard
>
>  common/cmd_bdinfo.c           |    1 +
>  include/asm-ppc/global_data.h |    2 --
>  lib_ppc/board.c               |    6 ++----
>  3 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
> index 11c1547..f8400bc 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 55e7e20..e031fdb 100644
> --- a/include/asm-ppc/global_data.h
> +++ b/include/asm-ppc/global_data.h
> @@ -149,9 +149,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 dd22f99..1e3fe59 100644
> --- a/lib_ppc/board.c
> +++ b/lib_ppc/board.c
> @@ -476,10 +476,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
>  	 */
> @@ -611,6 +607,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);

-- 
We can forgive a man for making a useful thing as long as he does not
admire it.  The only excuse  for making  a useless  thing is that one
admires it intensely.
                                    --- Oscar Wilde
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de


More information about the U-Boot mailing list