diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2008-06-13 05:28:36 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-07-03 11:39:57 -0400 |
commit | 826cbdaff29764bb6928c715c6a025e49469dda9 (patch) | |
tree | 0fa040b3be05d88291eb5dca05f77202ad56ab45 /arch/arm/mm/flush.c | |
parent | 43df5220e455d426ec7462d0bf906e686c65ebb5 (diff) |
[ARM] 5092/1: Fix the I-cache invalidation on ARMv6 and later CPUs
This patch adds the I-cache invalidation in update_mmu_cache if the
corresponding vma is marked as executable. It also invalidates the
I-cache if a thread migrates to a CPU it never ran on.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/flush.c')
-rw-r--r-- | arch/arm/mm/flush.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c index 9df507d36e0b..029ee65fda2b 100644 --- a/arch/arm/mm/flush.c +++ b/arch/arm/mm/flush.c | |||
@@ -199,6 +199,8 @@ void flush_dcache_page(struct page *page) | |||
199 | __flush_dcache_page(mapping, page); | 199 | __flush_dcache_page(mapping, page); |
200 | if (mapping && cache_is_vivt()) | 200 | if (mapping && cache_is_vivt()) |
201 | __flush_dcache_aliases(mapping, page); | 201 | __flush_dcache_aliases(mapping, page); |
202 | else if (mapping) | ||
203 | __flush_icache_all(); | ||
202 | } | 204 | } |
203 | } | 205 | } |
204 | EXPORT_SYMBOL(flush_dcache_page); | 206 | EXPORT_SYMBOL(flush_dcache_page); |