From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Date: Wed, 20 Mar 2013 13:16:35 -0500 Subject: [U-Boot] [RFC] command/cache: Add flush_cache command In-Reply-To: <20130320183813.2cb9153a@lilith> (from albert.u.boot@aribaud.net on Wed Mar 20 12:38:13 2013) Message-ID: <1363803395.25034.8@snotra> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 03/20/2013 12:38:13 PM, Albert ARIBAUD wrote: > Hi Scott, > > On Wed, 20 Mar 2013 11:43:15 -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. > > 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