[ARM] 3356/1: Workaround for the ARM1136 I-cache invalidation problem
authorCatalin Marinas <catalin.marinas@arm.com>
Fri, 10 Mar 2006 22:26:47 +0000 (22:26 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 10 Mar 2006 22:26:47 +0000 (22:26 +0000)
commit141fa40cff90881ac4d81f6afa27bc283fe7acca
tree7991b0f3910dafb58e1ef92044153e5383b01850
parente7fcdb79ecaa01e2eba06e3fb64e10455bdb5aa7
[ARM] 3356/1: Workaround for the ARM1136 I-cache invalidation problem

Patch from Catalin Marinas

ARM1136 erratum 371025 (category 2) specifies that, under rare
conditions, an invalidate I-cache by MVA (line or range) operation can
fail to invalidate a cache line. The recommended workaround is to
either invalidate the entire I-cache or invalidate the range by
set/way rather than MVA.

Note that for a 16K cache size, invalidating a 4K page by set/way is
equivalent to invalidating the entire I-cache.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/cache-v6.S
arch/arm/mm/flush.c