u-boot spl with fat32 on arm
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_blockget_contents_vfatname_blockget_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
Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ Maintainer of Linux kernel - Xilinx Zynq ARM architecture Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 263 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140128/fbb1f6f9/attachment.pgp>
Quoted 18 lines · Michal Simek
Hi guys,
I do play a little bit with u-boot spl and I am curious about fat32 implementation. There is
MAX_CLUSTSIZEwhich is 65k and there are 3 buffers infat.ccodedo_fat_read_at_blockget_contents_vfatname_blockget_dentfromdir_blockAll 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. DecreaseMAX_CLUSTSIZEto any low value (I do use 8k).Unfortunately if I decrease
MAX_CLUSTSIZEand 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.
Quoted 5 lines
That's why I have a question where can be the problem in this behaviour that keeping 8k
MAX_CLUSTSIZEin bss section doesn't work and keeping 8kMAX_CLUSTSIZEout 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.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140129/171c59a6/attachment.pgp>
Quoted 24 lines · Tom Rini
Quoted 22 lines · Michal Simek
Hi guys,
I do play a little bit with u-boot spl and I am curious about fat32 implementation. There is
MAX_CLUSTSIZEwhich is 65k and there are 3 buffers infat.ccodedo_fat_read_at_blockget_contents_vfatname_blockget_dentfromdir_blockAll 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. DecreaseMAX_CLUSTSIZEto any low value (I do use 8k).Unfortunately if I decrease
MAX_CLUSTSIZEand 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_CLUSTSIZEin bss section doesn't work and keeping 8kMAX_CLUSTSIZEout of bss section works.
Quoted 6 lines
Quoted 1 line
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_SIZEwhich 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
Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ Maintainer of Linux kernel - Xilinx Zynq ARM architecture Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 263 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140130/5570466a/attachment.pgp>