Commit dc0dddb1 authored by Will Deacon's avatar Will Deacon Committed by Marc Zyngier

KVM: arm64: Invalidate EL1&0 TLB entries for all VMIDs in nvhe hyp init

When initialising the nVHE hypervisor, we invalidate potentially stale
TLB entries for the EL1&0 regime using a 'vmalls12e1' invalidation.
However, this invalidation operation applies only to the active VMID
and therefore we could proceed with stale TLB entries for other VMIDs.

Replace the operation with an 'alle1' which applies to all entries for
the EL1&0 regime, regardless of the VMID.

Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Fixes: 1025c8c0 ("KVM: arm64: Wrap the host with a stage 2")
Signed-off-by: default avatarWill Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240814123429.20457-2-will@kernel.orgSigned-off-by: default avatarMarc Zyngier <maz@kernel.org>
parent 7c626ce4
...@@ -130,7 +130,7 @@ alternative_else_nop_endif ...@@ -130,7 +130,7 @@ alternative_else_nop_endif
/* Invalidate the stale TLBs from Bootloader */ /* Invalidate the stale TLBs from Bootloader */
tlbi alle2 tlbi alle2
tlbi vmalls12e1 tlbi alle1
dsb sy dsb sy
mov_q x0, INIT_SCTLR_EL2_MMU_ON mov_q x0, INIT_SCTLR_EL2_MMU_ON
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment