KVM: arm64: Set CSV2 for guests on hardware unaffected by Spectre-v2
[linux-2.6-microblaze.git] / arch / arm64 / kvm / sys_regs.c
index 077293b..7b8a8f6 100644 (file)
@@ -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) |