[U-Boot] [PATCH 3/6] SPL: Port SPL framework to powerpc

Stefan Roese sr at denx.de
Fri Aug 24 18:07:49 CEST 2012


On 08/24/2012 05:55 PM, Tom Rini wrote:
>>> So, here's what I don't understand.  On ARM, in general, we can't rely
>>> on the global data pointer register (r8) to be set to a useful value, so
>>> we do the above to ensure it points to something useful.  Are you always
>>> able to rely on r2 it looks like pointing to something useful?  Or do
>>> you take care of this much earlier on in powerpc?  Thanks!
>>
>> You are correct, I missed something here. r2 was still configured to the
>> value written to it from the "real" U-Boot (pointing to internal SRAM).
>>
>> I can't use the code in preloader_console_init() though to setup the gd
>> pointer. As I need to write some values in gd *before* calling
>> preloader_console_init() (mainly clocks for serial driver). And since
>> this "gd stuff" is quite platform specific, we should probably move this
>> into an platform/arch spl file instead. As you also mentioned in another
>> reply to create an arch/${ARCH}/lib/spl.c file.
>>
>> What do you think? Can you move this gd init stuff into such a common
>> ARM spl file in the next patchset version?
> 
> Yes.  We should probably say it's the job of board_init_f.  I know full
> U-Boot does it at the start of board_init_r but I think for SPL it makes
> sense to document that board_init_f does any early init it needs to,
> clears BSS, sets up gd and calls board_init_r.

Full ack. In my next patchset version, I already extracted this gd setup
into board_init_f().

Thanks,
Stefan





More information about the U-Boot mailing list