
Dear Scott Wood,
In message 4F29811D.5080207@freescale.com you wrote:
What's the alternative -- another name and separate makefile infrastructure for non-minimal initial loaders?
No, configura and use a small U-Boot image where the normal execution environment can be guaranteed.
It's important that SPL be *able* to produce very small images when needed, but its purpose has grown beyond that.
But it's restrictions have not.
You know how things work - people take exsiting code examples from one system and expect them to work on another - and they don't.
The SPL code that works fine today breaks tomorrow because someone changes some part of code in an apparently unrelated area of the code. He could not know his changes would cause trouble because this code was not meant to run in restricted environments. Etc. etc.
We once had a very strict rule for which code was allowed before relocation (or you may call it in "regular U-Boot enviropnment"), and which was not. We are starting to obliterate these boundaries. This is dangerous, and once you start, impossible to control.
It was a mistake of mine to allow the use of malloc() in this environment. I am not willing to let this grow out of control.
If such fancy features are needed in the SPL, then new methods must be developed that give the user a clear indication if what he is doing is actually legal and will result in working code. I don't have a solution for this, but I am convinced that this approach is wrong, and should be stopped rather now than later.
Best regards,
Wolfgang Denk