[U-Boot] [PATCH 3/3 v2] ARM: ARM926EJS - Add cache operations

Aneesh V
2011-08-19T14:16:44Z

On Friday 19 August 2011 06:25 PM, Marek Vasut wrote:
> On Friday, August 19, 2011 12:43:30 PM Aneesh V wrote:
>> Hi Marek,
>>
>> On Friday 19 August 2011 03:16 PM, Marek Vasut wrote:
>>> On Friday, August 19, 2011 11:37:29 AM Aneesh V wrote:
>>>> Hi Hong,
>>>>
>>>> On Friday 19 August 2011 02:53 PM, Hong Xu wrote:
>>>>> Add a new file arch/arm/cpu/arm926ejs/cache.c and put cache operations
>>>>> into this file.
>>>>
>>>> How about converting as much as possible of these to armv5/armv6 generic
>>>> code as I mentioned in this thread:
>>>>
>>>> http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/105385/focus=1055
>>>> 26
>>>>
>>>> On a quick look everything below except the "flush_dcache_all()" seems
>>>> to be armv5 generic.
>>>
>>> I'd be _VERY_ careful here. And this "seems" doesn't sound very
>>> convincing. Are you dead sure it won't break any v5 CPU we support?
>>
>> What Hong has used is operations mentioned in the ARMv5 architecture
>> and these are not marked as IMPLEMENTATION DEFINED. So, compliant
>> implementations should implement those CP15 operations. They may
>> enhance the operations by adding their own like ARM926EJS seems to be
>> doing with 'flush d-cache all'.
>>
>> However, I think that's immaterial. Hong can provide this as a library
>> and define a CONFIG_* flag to enable it. Let the platform maintainers
>> decide whether to use it or not. IMHO, it will definitely be an
>> improvement over what we have today.
>
> Hi,
>
> It certainly will, but I'm quite relucant to that as it'll also -- since
> CONFIG_SYS_DCACHE_OFF and CONFIG_SYS_ICACHE_OFF isn't defined by default -- break
> some things. Even though what I said is not exactly an argument for what you
> said.
>
> If you're firm all ARMv5 implement it this way, I'm all for it being done the way
> you suggest it!

I can not vouch for all the CPUs. But I checked one more - ARM946ES.
This one is also implementing all the standard operations that Hong has
used('flush d-cache all' used by Hong is not a standard armv5
operation - that seems to be a 926ejs specific one).

best regards,
Aneesh