public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC] command/cache: Add flush_cache command
Date: Wed, 20 Mar 2013 17:35:51 -0500	[thread overview]
Message-ID: <1363818951.25034.28@snotra> (raw)
In-Reply-To: <20130320231157.4f312493@lilith> (from albert.u.boot@aribaud.net on Wed Mar 20 17:11:57 2013)

On 03/20/2013 05:11:57 PM, Albert ARIBAUD wrote:
> Hi Scott,
> 
> On Wed, 20 Mar 2013 14:36:05 -0500, Scott Wood
> <scottwood@freescale.com> wrote:
> 
> > On 03/20/2013 02:15:19 PM, Tom Rini wrote:
> > > On Wed, Mar 20, 2013 at 11:43:15AM -0500, Scott Wood 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.
> > >
> > > So, to try and be a bit more verbose about this, for U-Boot
> > > applications
> > > which use 'go', we still need to ensure cache coherence, which is  
> why
> > > bootm does a cache flush, we need some way to flush in this case.
> >
> > It's also an issue with using the "cpu <n> release" command.
> >
> > > And in this case you aren't better served by say bootelf ?
> >
> > That wouldn't handle the "cpu release" case.  In any case, "go"  
> exists
> > and is currently the recommended way to launch a standalone  
> application
> > in doc/README.standalone.
> >
> > > > 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...
> > >
> > > Can you hightlight what exactly causes the world today to go off  
> and
> > > fail?  Is the hello_world example app sufficient in this case or  
> do we
> > > need something much larger?
> >
> > A user inside Freescale is running standalone performance test apps,
> > using both "go" and "cpu <n> release" (since the test needs to run  
> on
> > all CPUs).  They are seeing cache problems running on a T4240 if  
> they
> > don't have this flush.  This flush is architecturally required  
> between
> > modifying/loading code and running it.
> 
> Still, why make it a shell command? Since this user needs a flush with
> "go" and "cpu release", then we should add a programmatic global cache
> flush in the "go" and "cpu release" commands.

Why add any new commands?  They could all be subcommands of bootm! :-)

Really, instead of adding one command, you want to modify *two*  
commands to do the same thing separately, which involves changing the  
syntax of both commands to accept memory range information?

-Scott

  reply	other threads:[~2013-03-20 22:35 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-19 20:29 [U-Boot] [RFC] command/cache: Add flush_cache command York Sun
2013-03-19 22:01 ` Albert ARIBAUD
2013-03-19 22:07   ` York Sun
2013-03-19 23:32     ` Scott Wood
2013-03-20 13:59       ` Albert ARIBAUD
2013-03-20 14:58         ` Wolfgang Denk
2013-03-20 16:43           ` Scott Wood
2013-03-20 17:38             ` Albert ARIBAUD
2013-03-20 18:16               ` Scott Wood
2013-03-20 19:15             ` Tom Rini
2013-03-20 19:36               ` Scott Wood
2013-03-20 19:59                 ` Tom Rini
2013-03-20 21:31                   ` Scott Wood
2013-03-21  5:42                     ` Wolfgang Denk
2013-03-21  5:39                   ` Wolfgang Denk
2013-03-21 12:29                     ` Tom Rini
2013-03-21 13:37                       ` Wolfgang Denk
2013-03-21 18:22                         ` Scott Wood
2013-03-21 19:25                           ` Wolfgang Denk
2013-03-21 20:34                             ` Scott Wood
2013-03-22  6:30                               ` Albert ARIBAUD
2013-03-22 12:17                                 ` Tom Rini
2013-03-22 14:03                                   ` Wolfgang Denk
2013-03-22 14:29                                     ` Tom Rini
2013-03-22 15:57                                       ` Albert ARIBAUD
2013-03-22 16:48                                       ` Scott Wood
2013-03-22 17:19                                         ` Tom Rini
2013-03-22 20:39                                       ` Wolfgang Denk
2013-03-20 22:11                 ` Albert ARIBAUD
2013-03-20 22:35                   ` Scott Wood [this message]
2013-03-20 23:33                     ` Michael Cashwell
2013-03-20 23:48                       ` Scott Wood
2013-03-21  0:27                         ` Michael Cashwell
2013-03-21  0:31                           ` Scott Wood
2013-03-21  5:02                             ` Sricharan R
2013-03-21 18:51                               ` Scott Wood
2013-03-21 17:58                     ` Albert ARIBAUD
2013-03-21 18:07                       ` Scott Wood
2013-03-21 19:21                         ` Wolfgang Denk
2013-03-20 19:40               ` York Sun
2013-03-20 14:51 ` Wolfgang Denk
2013-03-20 16:44   ` Scott Wood
2013-04-03 14:02 ` Jim Chargin
2013-04-18 17:09   ` Scott Wood

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1363818951.25034.28@snotra \
    --to=scottwood@freescale.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox