|
@@ -242,6 +242,15 @@ switch_mm_fastpath:
|
|
|
cpu_switch_mm(mm->pgd, mm);
|
|
|
}
|
|
|
|
|
|
+/* Errata workaround post TTBRx_EL1 update. */
|
|
|
+asmlinkage void post_ttbr_update_workaround(void)
|
|
|
+{
|
|
|
+ asm(ALTERNATIVE("nop; nop; nop",
|
|
|
+ "ic iallu; dsb nsh; isb",
|
|
|
+ ARM64_WORKAROUND_CAVIUM_27456,
|
|
|
+ CONFIG_CAVIUM_ERRATUM_27456));
|
|
|
+}
|
|
|
+
|
|
|
static int asids_init(void)
|
|
|
{
|
|
|
asid_bits = get_cpu_asid_bits();
|