From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aneesh V Date: Mon, 08 Aug 2011 15:57:39 +0530 Subject: [U-Boot] [PATCH v2] ARM926ejs: Add routines to invalidate D-Cache In-Reply-To: <4E3FB993.1080602@emk-elektronik.de> References: <1312519452-22926-1-git-send-email-hong.xu@atmel.com> <4E3B8A16.50604@aribaud.net> <4E3B8FF3.2070400@atmel.com> <4E3B91C1.2040307@aribaud.net> <4E3B9753.3020002@ti.com> <4E3BC715.9070706@atmel.com> <4E3BCA55.5070003@ti.com> <4E3BCDEB.8090106@aribaud.net> <4E3BD953.8050502@ti.com> <4E3BED77.1080508@aribaud.net> <4E3C0566.2020303@ti.com> <4E3E36ED.5080601@aribaud.net> <4E3F9D2A.1030002@ti.com> <4E3FAEE6.4010208@aribaud.net> <4E3FB378.7080901@emk-elektronik.de> <4E3FB670.2040108@ti.com> <4E3FB993.1080602@emk-elektronik.de> Message-ID: <4E3FBA1B.1020700@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Reinhard, On Monday 08 August 2011 03:55 PM, Reinhard Meyer wrote: > Hi Aneesh, >> On Monday 08 August 2011 03:29 PM, Reinhard Meyer wrote: >>> Dear Albert, Aneesh, Hong, >>> >>> There seem to be functions of type >>> >>> xxx(start, end) and xxx(start, size). >>> >>> Can't it be somehow decided to use only one variant >>> in all cases (flush, invalidate)? >> >> The u-boot standard seems to be xxx(start, end) where the operation >> will be done on the range [start, end). This is what I figured out by >> looking at the prototypes and existing implementations when I did the >> armv7 work and I have stuck to this standard. >> >> Hong also seems to be following the same standard. >> >> If there is no objection, I shall add this definition to the README I >> am adding. > > Maybe its arch specific, I just saw this in another thread, thats why I asked: > > > +++ b/arch/mips/cpu/mips32/cpu.c > @@ -52,6 +52,11 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > > void flush_cache(ulong start_addr, ulong size) I think the confusion about flush_cache() is because in include/common.h the prototype for flush_cache() doesn't have names for the paramaeters. It's like this: void flush_cache (unsigned long, unsigned long); However, the invalidate and flush range functions are clearly defined: void flush_dcache_range(unsigned long start, unsigned long stop); void invalidate_dcache_range(unsigned long start, unsigned long stop); I don't know what to do about flush_cache() now that it seems to have conflicting implementations. best regards, Aneesh