[U-Boot-Users] Fix malloc problem introduced with the relocation fixup for the PPC platform
Grant Likely
grant.likely at secretlab.ca
Sun Jul 8 15:55:04 CEST 2007
On 7/8/07, Stefan Roese <sr at denx.de> wrote:
> The relocation fixup didn't handle the malloc pointer initialization
> correctly. This patch fixes this problem. Tested successfully on 4xx.
> The relocation fixup patches for 4xx will follow soon.
>
> Signed-off-by: Stefan Roese <sr at denx.de>
Acked-by: Grant Likely <grant.likely at secretlab.ca>
>
> ---
> commit 3a1e66ba75172959973377d6069f1d12e1a4ecb3
> tree 6fdde574dd5328b805e0e438ebb32cc7e7de8f4d
> parent dcc0264878406d52b879d2e5a63d3d793371434e
> author Stefan Roese <sr at denx.de> Sun, 08 Jul 2007 13:42:52 +0200
> committer Stefan Roese <sr at denx.de> Sun, 08 Jul 2007 13:42:52 +0200
>
> lib_ppc/board.c | 9 +++++----
> 1 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/lib_ppc/board.c b/lib_ppc/board.c
> index 8bb885d..5e156ab 100644
> --- a/lib_ppc/board.c
> +++ b/lib_ppc/board.c
> @@ -139,10 +139,10 @@ static ulong mem_malloc_brk = 0;
> */
> static void mem_malloc_init (void)
> {
> - ulong dest_addr = CFG_MONITOR_BASE + gd->reloc_off;
> -
> - mem_malloc_end = dest_addr;
> - mem_malloc_start = dest_addr - TOTAL_MALLOC_LEN;
> +#if !defined(CONFIG_RELOC_FIXUP_WORKS)
> + mem_malloc_end = CFG_MONITOR_BASE + gd->reloc_off;
> +#endif
> + mem_malloc_start = mem_malloc_end - TOTAL_MALLOC_LEN;
> mem_malloc_brk = mem_malloc_start;
>
> memset ((void *) mem_malloc_start,
> @@ -623,6 +623,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
>
> #if defined(CONFIG_RELOC_FIXUP_WORKS)
> gd->reloc_off = 0;
> + mem_malloc_end = dest_addr;
> #else
> gd->reloc_off = dest_addr - CFG_MONITOR_BASE;
> #endif
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely at secretlab.ca
(403) 399-0195
More information about the U-Boot
mailing list