KVM: arm64: Workaround Cortex-A77 erratum 1542418 on VMID rollover
Cortex-A77's erratum 1542418 workaround needs to be applied for VMID re-use too. This prevents the CPU correctly predicting a modified branch based on a previous user of the VMID and ASID. KVM doesn't use force_vm_exit or exit_vm_noop for anything other than vmid rollover. Rename them, and use this to invoke the VMID workaround on each CPU. Another case where VMID and ASID may get reused is if the system is over-provisioned and two vCPUs of the same VMID are scheduled on one physical CPU. KVM invalidates the TLB to prevent ASID sharing in this case, invoke the asid-rollover workaround too so we avoid the ASID sharing tripping the erratum. Change-Id: Ia7d82cfc785091c546b40a8a54584784a34c3e5a Signed-off-by:James Morse <james.morse@arm.com> Signed-off-by:
Suzuki K Poulose <suzuki.poulose@arm.com> Patch-mainline: linux-arm-kernel @ 11/14/19, 14:59 [sramana@codeaurora.org: Resolve trivial merge conflicts] Signed-off-by:
Srinivas Ramana <sramana@codeaurora.org>
Loading
Please register or sign in to comment