
Hi Aneesh,
On Tuesday 17 May 2011 01:45 PM, Wolfgang Denk wrote:
Dear Aneesh V,
In message4DD21BAA.6000601@ti.com you wrote:
What is MLO?
MLO is the name of SPL created for OMAP. ROM code expects a file with this name as the first image when it boots from FAT.
What does MLO mean?
On looking up ROM code spec, this seems to stand for "MMC/SD Loader"
+#ifdef CONFIG_PRELOADER +/* SPL works from internal RAM. gd pointer can be in .data section */ +#define DECLARE_GLOBAL_DATA_PTR extern gd_t *gd +#else #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8") +#endif
Is this appropriate for all ARM boards (e.g. those currently using nand_spl)?
None of the SPL's other than this one seems to be using global data today. If anybody wants to use it this seems to be the logical option for me because by definition SPL runs from some kind of RAM so global data can be placed in the .data section of SPL.
But that's not what you are doing. You are not changing the storage of the global data itself, you are changing the storage of the POINTER TO the global data - and this makes no sense to me. The pointer can certainly remain in a register even if the data itself is somewhere else.
Why do we want to waste a register in the entire SPL when global data can be accessed directly from .data section?
best regards, Aneesh