]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mm/context.c
Merge branch 'viper-for-rmk' of git://www.misterjones.org/linux-2.6-arm
[linux-2.6-omap-h63xx.git] / arch / arm / mm / context.c
index 930c04c4f53cb0a5843d201534d51840d6530673..fc84fcc743804d16241a99ee5cb1c86f650dd048 100644 (file)
@@ -49,6 +49,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();
+               }
        }
        spin_unlock(&cpu_asid_lock);