[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