
On 03/20/2013 12:38:13 PM, Albert ARIBAUD wrote:
Hi Scott,
On Wed, 20 Mar 2013 11:43:15 -0500, Scott Wood scottwood@freescale.com wrote:
On 03/20/2013 09:58:36 AM, Wolfgang Denk wrote:
Dear Albert,
In message 20130320145927.2031b913@lilith you wrote:
I do understand what it does, but I still don't get why it
should be
done, since precisely payload control transfer happens through bootm and the like which already properly flush cache.
It doesn't always happen through bootm. Standalone apps use the
"go"
command.
Hence my "and the like".
But a cache flush does not happen with "go", and cannot (unless you flush the entirety of all relevant caches, which is not always easy and requires more platform-specific code) because it only knows the entry point, not the start/end of the image.
Agreed again. As is, the patch was only adding dead code, as
there
are no users of the feature.
It's a user command! How can it be dead code? I don't know of a
way
to include a human user in a patchset...
But as I stated, you can, and should, include at least one board that will need this command. So far, apparently, no board needs it.
Where does this appearance come from? It's relevant on any PPC target where icache and dcache are not mutually coherent, which is most of them. The odds of getting bitten by the lack of flushing may differ among different targets, but it exists
What specifically would you be looking to be added? Again, it's a user command. The user is a human, not a piece of code. Should we rip out every command that isn't referred to by a board's default environment or some other in-tree reference? I could drop a lot of useful NAND commands that way...
-Scott