Hi Michael,

On Fri, Aug 29, 2014 at 8:20 PM, Michal Simek <mon...@monstr.eu> wrote:
> Hi Sonic
>
> On 08/07/2014 09:08 AM, Sonic Zhang wrote:
>> From: Sonic Zhang <sonic.zh...@analog.com>
>>
>> - move blackfin specific cpu init code from blackfin board.c to cpu.c
>> - remove blackfin specific board init code and invoke generic board_f fron 
>> cpu init entry
>> - rename section name bss_vma to bss_start in order to match the generic 
>> board init code
>> - add a fake relocate_code function to set up the new stack only
>
> I would like get more information about this change.
> I have spent some time on Microblaze to move to generic board
> and I need to use sort of the same approach.
> I will play with full reloc but as I see there will be a lot of additional
> code generated which increase u-boot footprint and brings nothing.
>
> That's why I would like to know why you have decided to use fake relocate_code
> function and what setup you are using before and "after" relocation (location 
> of stack, gd, malloc
> areas, etc).

The Blackfin u-boot start code has already done the relocation before
the generic board_init_f() is invoked. But, the new stack pointer can
not be set until all functions in init_sequence_f[] are done. So, the
last function in init_sequence_f[] relocate_code() is used to update
the stack point and jump to the generic board_init_f(). Blackfin
architecture defines global static gd and bd data and set the init
stack point to (CONFIG_SYS_MALLOC_BASE - 4).

Regards,

Sonic
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to