Merge tag 'kvm-arm-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm...
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 11 Jul 2019 13:14:16 +0000 (15:14 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 11 Jul 2019 13:14:16 +0000 (15:14 +0200)
KVM/arm updates for 5.3

- Add support for chained PMU counters in guests
- Improve SError handling
- Handle Neoverse N1 erratum #1349291
- Allow side-channel mitigation status to be migrated
- Standardise most AArch64 system register accesses to msr_s/mrs_s
- Fix host MPIDR corruption on 32bit

28 files changed:
1  2 
Documentation/virtual/kvm/api.txt
arch/powerpc/kvm/powerpc.c
arch/x86/include/asm/kvm_host.h
arch/x86/include/uapi/asm/kvm.h
arch/x86/kvm/cpuid.c
arch/x86/kvm/emulate.c
arch/x86/kvm/irq.h
arch/x86/kvm/irq_comm.c
arch/x86/kvm/lapic.c
arch/x86/kvm/mmu.c
arch/x86/kvm/paging_tmpl.h
arch/x86/kvm/pmu.c
arch/x86/kvm/svm.c
arch/x86/kvm/vmx/nested.c
arch/x86/kvm/vmx/vmcs12.h
arch/x86/kvm/vmx/vmx.c
arch/x86/kvm/x86.c
include/linux/kvm_host.h
tools/include/uapi/linux/kvm.h
tools/testing/selftests/kvm/include/kvm_util.h
tools/testing/selftests/kvm/lib/kvm_util.c
tools/testing/selftests/kvm/lib/kvm_util_internal.h
tools/testing/selftests/kvm/lib/x86_64/processor.c
tools/testing/selftests/kvm/x86_64/kvm_create_max_vcpus.c
tools/testing/selftests/kvm/x86_64/state_test.c
virt/kvm/arm/arm.c
virt/kvm/irqchip.c
virt/kvm/kvm_main.c

Simple merge
Simple merge
Simple merge
@@@ -378,12 -378,14 +378,15 @@@ struct kvm_sync_regs 
        struct kvm_vcpu_events events;
  };
  
 -#define KVM_X86_QUIRK_LINT0_REENABLED (1 << 0)
 -#define KVM_X86_QUIRK_CD_NW_CLEARED   (1 << 1)
 -#define KVM_X86_QUIRK_LAPIC_MMIO_HOLE (1 << 2)
 -#define KVM_X86_QUIRK_OUT_7E_INC_RIP  (1 << 3)
 +#define KVM_X86_QUIRK_LINT0_REENABLED    (1 << 0)
 +#define KVM_X86_QUIRK_CD_NW_CLEARED      (1 << 1)
 +#define KVM_X86_QUIRK_LAPIC_MMIO_HOLE    (1 << 2)
 +#define KVM_X86_QUIRK_OUT_7E_INC_RIP     (1 << 3)
 +#define KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT (1 << 4)
  
+ #define KVM_STATE_NESTED_FORMAT_VMX   0
+ #define KVM_STATE_NESTED_FORMAT_SVM   1       /* unused */
  #define KVM_STATE_NESTED_GUEST_MODE   0x00000001
  #define KVM_STATE_NESTED_RUN_PENDING  0x00000002
  #define KVM_STATE_NESTED_EVMCS                0x00000004
@@@ -417,19 -420,16 +421,26 @@@ struct kvm_nested_state 
  
                /* Pad the header to 128 bytes.  */
                __u8 pad[120];
-       };
+       } hdr;
  
-       __u8 data[0];
+       /*
+        * Define data region as 0 bytes to preserve backwards-compatability
+        * to old definition of kvm_nested_state in order to avoid changing
+        * KVM_{GET,PUT}_NESTED_STATE ioctl values.
+        */
+       union {
+               struct kvm_vmx_nested_state_data vmx[0];
+       } data;
  };
  
 +/* for KVM_CAP_PMU_EVENT_FILTER */
 +struct kvm_pmu_event_filter {
 +       __u32 action;
 +       __u32 nevents;
 +       __u64 events[0];
 +};
 +
 +#define KVM_PMU_EVENT_ALLOW 0
 +#define KVM_PMU_EVENT_DENY 1
 +
  #endif /* _ASM_X86_KVM_H */
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
Simple merge
Simple merge