[U-Boot] [RFC] command/cache: Add flush_cache command

Scott Wood
2013-03-20T18:16:35Z

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