
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 1. Place these 3 fat arrays to different memory which is working fine 2. 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. Maybe someone could know where the problem can be before I look at ASM code.
Thanks for your hints, Michal