
On 01/29/2014 10:57 PM, Tom Rini wrote:
On Tue, Jan 28, 2014 at 03:23:23PM +0100, Michal Simek wrote:
Hi guys,
I do play a little bit with u-boot spl and I am curious about fat32 implementation. There is MAX_CLUSTSIZE which is 65k and there are 3 buffers in fat.c code do_fat_read_at_block get_contents_vfatname_block get_dentfromdir_block
All these 3 are placed to bss section. I have just 192k of memory for SPL that's why I tried 2 things
- Place these 3 fat arrays to different memory which is working fine
- Decrease MAX_CLUSTSIZE to any low value (I do use 8k).
Unfortunately if I decrease MAX_CLUSTSIZE and add them to bss section SPL doesn't work. If I add them to a different section in front of or behind bss everything is just fine.
That's why I have a question where can be the problem in this behaviour that keeping 8k MAX_CLUSTSIZE in bss section doesn't work and keeping 8k MAX_CLUSTSIZE out of bss section works.
bss relocation is not done in SPL.
To be clear, are you saying you cannot do this in your case? We support CONFIG_SPL_BSS_START_ADDR / CONFIG_SPL_BSS_MAX_SIZE which is how on TI platforms for example we put BSS into DDR, as we've configured that before needing BSS.
I am not saying that I can't place BSS to the different location out of my 192k OCM. Moving whole BSS to DDR is possible but I would rather have it in OCM. I was talking to Albert on IRC about this and I will debug it to see what's wrong.
Thanks, Michal