Skip to content

Commit

Permalink
arm64: add DSB after icache flush in __flush_icache_all()
Browse files Browse the repository at this point in the history
Add DSB after icache flush to complete the cache maintenance operation.
The function __flush_icache_all() is used only for user space mappings
and an ISB is not required because of an exception return before executing
user instructions. An exception return would behave like an ISB.

Signed-off-by: Vinayak Kale <vkale@apm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
  • Loading branch information
Vinayak Kale authored and Catalin Marinas committed Feb 5, 2014
1 parent 4050740 commit 5044bad
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm64/include/asm/cacheflush.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ extern void flush_dcache_page(struct page *);
static inline void __flush_icache_all(void)
{
asm("ic ialluis");
dsb();
}

#define flush_dcache_mmap_lock(mapping) \
Expand Down

0 comments on commit 5044bad

Please sign in to comment.