[U-Boot] [RFC PATCH 6/7] omap: common spl support for OMAP3/4

Andreas Bießmann
2011-06-30T07:08:18Z

Dear Aneesh V,

Am 30.06.2011 um 08:12 schrieb Aneesh V:

> Hi Heiko,
>
> On Thursday 30 June 2011 11:31 AM, Heiko Schocher wrote:
>> Hello Aneesh,
>>
>> Aneesh V wrote:
>>> Signed-off-by: Aneesh V<aneesh@ti.com>
>>> ---
>>> arch/arm/cpu/armv7/omap-common/Makefile | 9 ++--
>>> arch/arm/cpu/armv7/omap-common/spl.c | 56 ++++++++++++++++++++++++++++
>>> arch/arm/cpu/armv7/omap-common/spl.lds | 62 +++++++++++++++++++++++++++++++
>>> 3 files changed, 123 insertions(+), 4 deletions(-)
>>> create mode 100644 arch/arm/cpu/armv7/omap-common/spl.c
>>> create mode 100644 arch/arm/cpu/armv7/omap-common/spl.lds
>>>
>> [...]
>>> diff --git a/arch/arm/cpu/armv7/omap-common/spl.c b/arch/arm/cpu/armv7/omap-common/spl.c
>>> new file mode 100644
>>> index 0000000..b5a5f3c
>>> --- /dev/null
>>> +++ b/arch/arm/cpu/armv7/omap-common/spl.c
>> [...]
>>> @@ -0,0 +1,56 @@
>>> +void board_init_f(ulong dummy)
>>> +{
>>> + debug(">>board_init_f()\n");
>>> + relocate_code(CONFIG_SYS_SPL_STACK,&gdata, CONFIG_SYS_SPL_TEXT_BASE);
>>> + debug("<<board_init_f()\n");
>>
>> This debug printf will never occur ;-)
>
> Indeed. Thanks for pointing out.
>
>>
>> BTW: Do you really need to relocate code? You could just load the 2nd
>> stage loader to ram from board_init_f, or?
>
> I am passing the same address as I am executing from as the target for
> the relocation, so the relocation will not happen, instead BSS will be
> initialized. That's what I am calling it for. Initially I had my own
> routine for clearing BSS. Then I decided to re-use it from start.S

So you could just call clear_bss(void) and skip relocate_code. But I think you need to adopt the __bss_start_ofs, __bss_end_ofs markers, cause your linker skript places them in SDRAM.

BTW: I think Simon Schwarz is also working on this, can one comment on his first version of patchset?

regards

Andreas Bie?mann