Commit e1026237 authored by Marc Zyngier's avatar Marc Zyngier Committed by Will Deacon
Browse files

KVM: arm64: Set CSV2 for guests on hardware unaffected by Spectre-v2



If the system is not affected by Spectre-v2, then advertise to the KVM
guest that it is not affected, without the need for a safelist in the
guest.

Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent d4647f0a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1131,6 +1131,9 @@ static u64 read_id_reg(const struct kvm_vcpu *vcpu,
		if (!vcpu_has_sve(vcpu))
			val &= ~(0xfUL << ID_AA64PFR0_SVE_SHIFT);
		val &= ~(0xfUL << ID_AA64PFR0_AMU_SHIFT);
		if (!(val & (0xfUL << ID_AA64PFR0_CSV2_SHIFT)) &&
		    arm64_get_spectre_v2_state() == SPECTRE_UNAFFECTED)
			val |= (1UL << ID_AA64PFR0_CSV2_SHIFT);
	} else if (id == SYS_ID_AA64ISAR1_EL1 && !vcpu_has_ptrauth(vcpu)) {
		val &= ~((0xfUL << ID_AA64ISAR1_APA_SHIFT) |
			 (0xfUL << ID_AA64ISAR1_API_SHIFT) |