From: Paolo Bonzini Date: Wed, 26 Apr 2023 19:56:27 +0000 (-0400) Subject: Merge tag 'kvm-x86-svm-6.4' of https://github.com/kvm-x86/linux into HEAD X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4a5fd419952e49ef870e9259d815718062871cc1;p=linux.git Merge tag 'kvm-x86-svm-6.4' of https://github.com/kvm-x86/linux into HEAD KVM SVM changes for 6.4: - Add support for virtual NMIs - Fixes for edge cases related to virtual interrupts --- 4a5fd419952e49ef870e9259d815718062871cc1 diff --cc arch/x86/kvm/svm/svm.c index a64ede4f1d8a0,e0ec95f1f068c..eb308c9994f94 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@@ -4135,16 -4246,10 +4215,18 @@@ static void svm_vcpu_after_set_cpuid(st svm->vgif_enabled = vgif && guest_cpuid_has(vcpu, X86_FEATURE_VGIF); + svm->vnmi_enabled = vnmi && guest_cpuid_has(vcpu, X86_FEATURE_VNMI); + svm_recalc_instruction_intercepts(vcpu, svm); + if (boot_cpu_has(X86_FEATURE_IBPB)) + set_msr_interception(vcpu, svm->msrpm, MSR_IA32_PRED_CMD, 0, + !!guest_has_pred_cmd_msr(vcpu)); + + if (boot_cpu_has(X86_FEATURE_FLUSH_L1D)) + set_msr_interception(vcpu, svm->msrpm, MSR_IA32_FLUSH_CMD, 0, + !!guest_cpuid_has(vcpu, X86_FEATURE_FLUSH_L1D)); + /* For sev guests, the memory encryption bit is not reserved in CR3. */ if (sev_guest(vcpu->kvm)) { best = kvm_find_cpuid_entry(vcpu, 0x8000001F);