On Oct 6, 2009, at 9:01 AM, Wolfgang Denk wrote: > Dear Peter Tyser, > > In message <1254830475.22896.43.ca...@ptyser-laptop> you wrote: >> >>> This whole "bss at 0x0" is a myth to me. >> >> Do a readelf on most MPC8548 boards, eg MPC8548CDS. __bss_start is >> also >> located at 0x0 for these boards, which is the issue this patch >> attempted >> to address. > > I know that this _is_ the case. My questions meant: _why_ is this the > case? My speculkation is that it's just by accident, because the bss > was located just after the instruction allocated for the reset > vector; this being at 0xFFFFFFFC on most 8xxx systems, the address > counter wrapped around on 32 bit tool chains, resulting in 0x0. > >> The current U-Boot code is already relocating this bss address >> higher up >> in SDRAM during relocation, all this patch does is add 0x10 bytes to >> that address. I had assumed the current code was working, but >> perhaps >> there's a bigger issue... > > I don;t think it's an issue. The code seems to work. But I wonder if > we could not simplify all this buy defining an arbitrary, non-zero > address. > >> I shied away from this since as the text/data/bss grow at some >> point the >> bss is going to overlap with the boot page. I think ld would >> intelligently wrap the bss around the boot page, but U-Boot won't >> be so >> intelligent when the bss is zeroed out:) The bss address range would >> also wrap back around to 0x0. I didn't feel good about zeroing out >> the > > But bss is NOLOAD, and the actual location in the flash is just a > fiction - we never use anything of this but the start address.
Where is BSS on 44x boards? I dont see any reason we shouldn't be able to put it at the same location. - k _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot