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

Aneesh V
2011-07-01T11:48:43Z

Dear Andreas,

On Friday 01 July 2011 03:25 PM, Andreas Bie?mann wrote:
> Dear Aneesh,
[snip ..]
> But the second part is not clear to me. I saw in your linker, that bss
> is placed in SDRAM. In start.S the boundaries for clear_bss are
> calculated at compile time to
>
> ---8<---
> _bss_start_ofs:
> .word __bss_start - _start
> --->8---
>
> Will that also work with e.g. SDRAM adress space is before SRAM, SDRAM
> addressing is far away (> 4GiB) ... So in you special case it may work,
> but if this is a blueprint for SPL on arm(v7) we should consider this.
>

Nice catch. Actually, in my original OMAP4 series I tried to add
support for disjoint bss to support my case. But now I realize that it
works only for non-relocation case and that too only when the bss is at
higher address compared to .text

Basically disjoint bss is not relocation friendly. So here is what I
propose:

1. Modify existing clear_bss sub-routine in start.S to take absolute
addresses.
2. In regular u-boot, calculate the relocated bss address and pass to
this function.
3. In SPL don't try to calculate the relocated address and directly
pass the absolute address.

If this is fine I will make the necessary changes in start.S in the
next revision.

best regards,
Aneesh