[U-Boot] [PATCH 1/9] arm926ej-s: Invalidate instruction cache in flush_cache

Albert ARIBAUD albert.aribaud at free.fr
Sun Mar 20 09:18:45 CET 2011


Le 03/20/11 06:36, arden jay a écrit :
> Hi Michael,
>
> I still have question. :)
>
> When ARM fetch instruction, it firstly try cache.
> It then should have cache miss, and forces to reload the instruction
> from memory?
> Why it will have problem while U-boot&  Kernel at the same memory location?

The error in your assumption is the "it then should have cache miss". A 
cache won't have a cache miss if it has already been fetched and not yet 
been invalidated, and the i-cache won't magically invalidate just 
because you do data writes at the location where the i-cache was fetched 
from; you end up with an i-cache that pretends to be valid but no longer 
matches the main memory content.

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list