aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/mm/proc.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S
index c6a12073ef46..9f177aac6390 100644
--- a/arch/arm64/mm/proc.S
+++ b/arch/arm64/mm/proc.S
@@ -153,14 +153,14 @@ ENDPROC(cpu_do_resume)
153ENTRY(cpu_do_switch_mm) 153ENTRY(cpu_do_switch_mm)
154 mrs x2, ttbr1_el1 154 mrs x2, ttbr1_el1
155 mmid x1, x1 // get mm->context.id 155 mmid x1, x1 // get mm->context.id
156 phys_to_ttbr x0, x3
156#ifdef CONFIG_ARM64_SW_TTBR0_PAN 157#ifdef CONFIG_ARM64_SW_TTBR0_PAN
157 bfi x0, x1, #48, #16 // set the ASID field in TTBR0 158 bfi x3, x1, #48, #16 // set the ASID field in TTBR0
158#endif 159#endif
159 bfi x2, x1, #48, #16 // set the ASID 160 bfi x2, x1, #48, #16 // set the ASID
160 msr ttbr1_el1, x2 // in TTBR1 (since TCR.A1 is set) 161 msr ttbr1_el1, x2 // in TTBR1 (since TCR.A1 is set)
161 isb 162 isb
162 phys_to_ttbr x0, x2 163 msr ttbr0_el1, x3 // now update TTBR0
163 msr ttbr0_el1, x2 // now update TTBR0
164 isb 164 isb
165 b post_ttbr_update_workaround // Back to C code... 165 b post_ttbr_update_workaround // Back to C code...
166ENDPROC(cpu_do_switch_mm) 166ENDPROC(cpu_do_switch_mm)