
Dear Scott,
In message 1363890157.31522.14@snotra you wrote:
As above it's from flash (I assume NOR) to RAM. The "why" is to be =20 able to run the code from RAM. :-P
* Why don't you run it form flash?
* Why do you insist on using the "go" command (instead of "bootm" with a IH_TYPE_STANDALONE image?
- eventually we should discourage the use of "go"; it may be conveniend when you know what you are doing, but if it's casuing such problems we might be better off recommending to use proper IH_TYPE_STANDALONE legacy images in combination with the bootm command instead.
That or bootelf, sure. I think there still should be some way to do it manually, though. bootm/bootelf probably wouldn't work for this use case because it involves releasing other cores after the image is copied/flushed, but before u-boot gives up control on the boot core.
The "releasing other cores" would then be a sub-command in the bootm sequence?
Also, instead of adding a new command, this could probably be scripted; I guess this should be roughly equivalent?
setenv flush_cache 'dc off;ic off;dc on;ic on'
This assumes that we support those cache operations, that they affect all relevant caches (on 85xx it only flushes L1, but at least on newer chips L2 is relevant as well), and that there are no errata or architectural limitations to running with caches off.
Indeed.
Best regards,
Wolfgang Denk