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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot