[U-Boot] [RFC] command/cache: Add flush_cache command
Scott Wood
scottwood at freescale.com
Wed Mar 20 19:16:35 CET 2013
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 at freescale.com> wrote:
>
> > On 03/20/2013 09:58:36 AM, Wolfgang Denk wrote:
> > > Dear Albert,
> > >
> > > In message <20130320145927.2031b913 at 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
More information about the U-Boot
mailing list