]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mm/context.c
[ARM] armv7: add support for asid-tagged VIVT I-cache
[linux-2.6-omap-h63xx.git] / arch / arm / mm / context.c
index 9da43a0fdcdffc5ff09b4e8fd1bdf6d95ac0452b..c9e9a55862673023a819644ab6b2a8058383ecbd 100644 (file)
@@ -47,6 +47,13 @@ void __new_context(struct mm_struct *mm)
                    : "r" (0));
                isb();
                flush_tlb_all();
+               if (icache_is_vivt_asid_tagged()) {
+                       asm("mcr        p15, 0, %0, c7, c5, 0   @ invalidate I-cache\n"
+                           "mcr        p15, 0, %0, c7, c5, 6   @ flush BTAC/BTB\n"
+                           :
+                           : "r" (0));
+                       dsb();
+               }
        }
 
        mm->context.id = asid;