[U-Boot] BSS footprint of FAT very high - SPL issues

Aneesh V aneesh at ti.com
Tue Feb 1 06:23:46 CET 2011


Dear Wolfgang,

I had been working on creating an MMC SPL for OMAP4. OMAP boards
typically support booting from the FAT partition of a removable SD/MMC
card. So, we need to have FAT support in the SPL. But I am having some
difficulties in adding FAT support to SPL.

BSS footprint of fat.c is very high. It has three buffers each of size
64KB. To workaround this problem I have done something like below(The
way x-loader works around this problem today).
CONFIG_SYS_SPL_FAT_BUFFER_BASE is in SDRAM.Is this ok?

Also, I was wondering why we need 3 such scratch buffers in this 
implementation. I do not understand this code. But I was wondering if we 
could work with just one 64K buffer?

---
+#ifdef CONFIG_PRELOADER
+__u8 *get_vfatname_block = (__u8 *)CONFIG_SYS_SPL_FAT_BUFFER_BASE;
+#else
  __attribute__ ((__aligned__ (__alignof__ (dir_entry))))
  __u8 get_vfatname_block[MAX_CLUSTSIZE];
+#endif

.
.
.

+#ifdef CONFIG_PRELOADER
+__u8 *get_dentfromdir_block = (__u8 *)CONFIG_SYS_SPL_FAT_BUFFER_BASE +
+                               MAX_CLUSTSIZE;
+#else
  __attribute__ ((__aligned__ (__alignof__ (dir_entry))))
  __u8 get_dentfromdir_block[MAX_CLUSTSIZE];
+#endif
+

Best regards,
Aneesh


More information about the U-Boot mailing list