]> www.infradead.org Git - nvme.git/commitdiff
Merge tag 'kvm-x86-misc-6.11' of https://github.com/kvm-x86/linux into HEAD
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Jul 2024 13:53:05 +0000 (09:53 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Jul 2024 13:53:05 +0000 (09:53 -0400)
KVM x86 misc changes for 6.11

 - Add a global struct to consolidate tracking of host values, e.g. EFER, and
   move "shadow_phys_bits" into the structure as "maxphyaddr".

 - Add KVM_CAP_X86_APIC_BUS_CYCLES_NS to allow configuring the effective APIC
   bus frequency, because TDX.

 - Print the name of the APICv/AVIC inhibits in the relevant tracepoint.

 - Clean up KVM's handling of vendor specific emulation to consistently act on
   "compatible with Intel/AMD", versus checking for a specific vendor.

 - Misc cleanups

22 files changed:
1  2 
Documentation/virt/kvm/api.rst
arch/x86/include/asm/kvm_host.h
arch/x86/include/uapi/asm/kvm.h
arch/x86/kvm/lapic.c
arch/x86/kvm/lapic.h
arch/x86/kvm/mmu.h
arch/x86/kvm/mmu/mmu.c
arch/x86/kvm/mmu/spte.c
arch/x86/kvm/pmu.c
arch/x86/kvm/svm/sev.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/svm/svm.h
arch/x86/kvm/trace.h
arch/x86/kvm/vmx/main.c
arch/x86/kvm/vmx/nested.c
arch/x86/kvm/vmx/vmx.c
arch/x86/kvm/vmx/x86_ops.h
arch/x86/kvm/x86.c
include/uapi/linux/kvm.h
tools/testing/selftests/kvm/Makefile
tools/testing/selftests/kvm/include/x86_64/processor.h
tools/testing/selftests/kvm/lib/x86_64/processor.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 3cb0be94e77926e04a24ddfa45767ba3cf351b76,d4339525af5443a981838b4275597b16042c79dd..6016883c8533854e2626bbef18574ef5cfe3e7d1
@@@ -111,7 -110,7 +110,6 @@@ u64 vmx_get_l2_tsc_offset(struct kvm_vc
  u64 vmx_get_l2_tsc_multiplier(struct kvm_vcpu *vcpu);
  void vmx_write_tsc_offset(struct kvm_vcpu *vcpu);
  void vmx_write_tsc_multiplier(struct kvm_vcpu *vcpu);
- void vmx_request_immediate_exit(struct kvm_vcpu *vcpu);
 -void vmx_sched_in(struct kvm_vcpu *vcpu, int cpu);
  void vmx_update_cpu_dirty_logging(struct kvm_vcpu *vcpu);
  #ifdef CONFIG_X86_64
  int vmx_set_hv_timer(struct kvm_vcpu *vcpu, u64 guest_deadline_tsc,
index e8c34f8e19641402901b290de2de29bca4e0846b,9ef5aaf6ad5c6eb7369bb3499bbe7482a5317b14..e90e1a74564ebfbf29f4016b3c394985dcf8f2d6
@@@ -4703,11 -4704,12 +4695,15 @@@ int kvm_vm_ioctl_check_extension(struc
        case KVM_CAP_VM_DISABLE_NX_HUGE_PAGES:
        case KVM_CAP_IRQFD_RESAMPLE:
        case KVM_CAP_MEMORY_FAULT_INFO:
+       case KVM_CAP_X86_GUEST_MODE:
                r = 1;
                break;
 +      case KVM_CAP_PRE_FAULT_MEMORY:
 +              r = tdp_enabled;
 +              break;
+       case KVM_CAP_X86_APIC_BUS_CYCLES_NS:
+               r = APIC_BUS_CYCLE_NS_DEFAULT;
+               break;
        case KVM_CAP_EXIT_HYPERCALL:
                r = KVM_EXIT_HYPERCALL_VALID_MASK;
                break;
index 1053e7c5eab91731118fbaf683c3a1281ce9dc24,a6ac00ec77adb05e3fcc0f230abdb97d66a8a3bd..637efc05514534ca635671f64f84bfd65a1b8ea1
@@@ -930,7 -917,8 +930,9 @@@ struct kvm_enable_cap 
  #define KVM_CAP_MEMORY_ATTRIBUTES 233
  #define KVM_CAP_GUEST_MEMFD 234
  #define KVM_CAP_VM_TYPES 235
 -#define KVM_CAP_X86_APIC_BUS_CYCLES_NS 236
 -#define KVM_CAP_X86_GUEST_MODE 237
 +#define KVM_CAP_PRE_FAULT_MEMORY 236
++#define KVM_CAP_X86_APIC_BUS_CYCLES_NS 237
++#define KVM_CAP_X86_GUEST_MODE 238
  
  struct kvm_irq_routing_irqchip {
        __u32 irqchip;
Simple merge