arm64: proc: de-scope TLBI operation during cold boot

When cold-booting a CPU, we must invalidate any junk entries from the
local TLB prior to enabling the MMU. This doesn't require broadcasting
within the inner-shareable domain, so de-scope the operation to apply
only to the local CPU.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
Will Deacon 2015-10-06 18:46:22 +01:00 committed by Catalin Marinas
parent c51e97d89e
commit fa7aae8a42

View File

@ -146,8 +146,8 @@ ENDPROC(cpu_do_switch_mm)
* value of the SCTLR_EL1 register. * value of the SCTLR_EL1 register.
*/ */
ENTRY(__cpu_setup) ENTRY(__cpu_setup)
tlbi vmalle1is // invalidate I + D TLBs tlbi vmalle1 // Invalidate local TLB
dsb ish dsb nsh
mov x0, #3 << 20 mov x0, #3 << 20
msr cpacr_el1, x0 // Enable FP/ASIMD msr cpacr_el1, x0 // Enable FP/ASIMD