From mboxrd@z Thu Jan 1 00:00:00 1970 From: Henrik =?ISO-8859-1?Q?Nordstr=F6m?= Date: Tue, 21 May 2013 23:57:21 +0200 Subject: [U-Boot] ARM v7: Flush icache when executing a program with go In-Reply-To: <20130521122601.6D9BA384809@gemini.denx.de> References: <1368540962.4464.9.camel@localhost> <20130515171111.481eb3de@lilith> <1368635647.3991.18.camel@localhost> <20130515184410.26e34874@lilith> <20130515165121.GG29196@bill-the-cat> <20130515193959.69aa9d64@lilith> <1368669278.27007.43.camel@localhost> <20130516071406.6AD19380635@gemini.denx.de> <20130516133754.GF32163@bill-the-cat> <1368718669.25965.14.camel@localhost> <20130516221350.49FAA3811D7@gemini.denx.de> <1368792981.765.21.camel@localhost> <20130521122601.6D9BA384809@gemini.denx.de> Message-ID: <1369173441.29955.9.camel@localhost> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de tis 2013-05-21 klockan 14:26 +0200 skrev Wolfgang Denk: > > but imho the user shouldn't really need to care for these and is why I > > hooked into the go command. > > In this case you should use the common C API. Unfortunately the go command do now know what range(s) it needs to flush. > No. bootm knows exactly the location and size of the image, so it is > sufficient to flush / invalidate a part of the memory, usually a > pretty small one compared to the total RAM size. See arch/arm/cpu/armv7/cpu.c cleaup_before_linux() for what I am talking about regarding bootm. > > And I do not think there needs to be commands for flushing specific > > regions other than for testing. Region based flushing is better done by > > code which knows what is needed. It's hard for users to get this right > > as most times it works anyway. > > The code should know which ranges need flushing, not the user. Agreed. But I don't see how this can be done for go. Should we instrument all the load commands to remember which ranges something have been loaded into since last flush? Regards Henrik