]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Merge tag 'kvm-x86-svm-6.19' of https://github.com/kvm-x86/linux into HEAD
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 26 Nov 2025 08:46:45 +0000 (09:46 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 26 Nov 2025 08:48:39 +0000 (09:48 +0100)
KVM SVM changes for 6.19:

 - Fix a few missing "VMCB dirty" bugs.

 - Fix the worst of KVM's lack of EFER.LMSLE emulation.

 - Add AVIC support for addressing 4k vCPUs in x2AVIC mode.

 - Fix incorrect handling of selective CR0 writes when checking intercepts
   during emulation of L2 instructions.

 - Fix a currently-benign bug where KVM would clobber SPEC_CTRL[63:32] on
   VMRUN and #VMEXIT.

 - Fix a bug where KVM corrupt the guest code stream when re-injecting a soft
   interrupt if the guest patched the underlying code after the VM-Exit, e.g.
   when Linux patches code with a temporary INT3.

 - Add KVM_X86_SNP_POLICY_BITS to advertise supported SNP policy bits to
   userspace, and extend KVM "support" to all policy bits that don't require
   any actual support from KVM.

1  2 
arch/x86/include/asm/cpufeatures.h
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/svm/avic.c
arch/x86/kvm/svm/nested.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/svm/svm.h
arch/x86/kvm/svm/vmenter.S
arch/x86/kvm/x86.c

index fc5698844a0bf99005e02337c6b8838acf472fcc,7129eb44adadd3b2a02c8ebe5d305720d3031318..c2f1281b32d8f2e9b95283c56195bcbe98e4079f
  #define X86_FEATURE_IBPB_EXIT_TO_USER (21*32+14) /* Use IBPB on exit-to-userspace, see VMSCAPE bug */
  #define X86_FEATURE_ABMC              (21*32+15) /* Assignable Bandwidth Monitoring Counters */
  #define X86_FEATURE_MSR_IMM           (21*32+16) /* MSR immediate form instructions */
 -#define X86_FEATURE_X2AVIC_EXT                (21*32+17) /* AMD SVM x2AVIC support for 4k vCPUs */
 +#define X86_FEATURE_CLEAR_CPU_BUF_VM_MMIO (21*32+17) /*
 +                                                    * Clear CPU buffers before VM-Enter if the vCPU
 +                                                    * can access host MMIO (ignored for all intents
 +                                                    * and purposes if CLEAR_CPU_BUF_VM is set).
 +                                                    */
++#define X86_FEATURE_X2AVIC_EXT                (21*32+18) /* AMD SVM x2AVIC support for 4k vCPUs */
  
  /*
   * BUG word(s)
Simple merge
Simple merge
Simple merge
Simple merge
index dd78e64023450bb9f15d60c3b33680996bd4b507,a9f6c1ece63d422d3c6393dca5a2e1e8e706b52e..9e151dbdef25d84009cd778af88f7b98ca9ea30d
@@@ -806,7 -802,8 +803,8 @@@ extern struct kvm_x86_nested_ops svm_ne
  )
  
  bool __init avic_hardware_setup(void);
 -int avic_ga_log_notifier(u32 ga_tag);
 +void avic_hardware_unsetup(void);
+ int avic_alloc_physical_id_table(struct kvm *kvm);
  void avic_vm_destroy(struct kvm *kvm);
  int avic_vm_init(struct kvm *kvm);
  void avic_init_vmcb(struct vcpu_svm *svm, struct vmcb *vmcb);
Simple merge
Simple merge