aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/context.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mm/context.c')
-rw-r--r--arch/arm/mm/context.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mm/context.c b/arch/arm/mm/context.c
index 9da43a0fdcdf..c9e9a5586267 100644
--- a/arch/arm/mm/context.c
+++ b/arch/arm/mm/context.c
@@ -47,6 +47,13 @@ void __new_context(struct mm_struct *mm)
47 : "r" (0)); 47 : "r" (0));
48 isb(); 48 isb();
49 flush_tlb_all(); 49 flush_tlb_all();
50 if (icache_is_vivt_asid_tagged()) {
51 asm("mcr p15, 0, %0, c7, c5, 0 @ invalidate I-cache\n"
52 "mcr p15, 0, %0, c7, c5, 6 @ flush BTAC/BTB\n"
53 :
54 : "r" (0));
55 dsb();
56 }
50 } 57 }
51 58
52 mm->context.id = asid; 59 mm->context.id = asid;