History

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM updates from Paolo Bonzini: "ARM: - HYP mode stub supports kexec/kdump on 32-bit - improved PMU support - virtual interrupt controller performance improvements - support for userspace virtual interrupt controller (slower, but necessary for KVM on the weird Broadcom SoCs used by the Raspberry Pi 3) MIPS: - basic support for hardware virtualization (ImgTec P5600/P6600/I6400 and Cavium Octeon III) PPC: - in-kernel acceleration for VFIO s390: - support for guests without storage keys - adapter interruption suppression x86: - usual range of nVMX improvements, notably nested EPT support for accessed and dirty bits - emulation of CPL3 CPUID faulting generic: - first part of VCPU thread request API - kvm_stat improvements" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (227 commits) kvm: nVMX: Don't validate disabled secondary controls KVM: put back #ifndef CONFIG_S390 around kvm_vcpu_kick Revert "KVM: Support vCPU-based gfn->hva cache" tools/kvm: fix top level makefile KVM: x86: don't hold kvm->lock in KVM_SET_GSI_ROUTING KVM: Documentation: remove VM mmap documentation kvm: nVMX: Remove superfluous VMX instruction fault checks KVM: x86: fix emulation of RSM and IRET instructions KVM: mark requests that need synchronization KVM: return if kvm_vcpu_wake_up() did wake up the VCPU KVM: add explicit barrier to kvm_vcpu_kick KVM: perform a wake_up in kvm_make_all_cpus_request KVM: mark requests that do not need a wakeup KVM: remove #ifndef CONFIG_S390 around kvm_vcpu_wake_up KVM: x86: always use kvm_make_request instead of set_bit KVM: add kvm_{test,clear}_request to replace {test,clear}_bit s390: kvm: Cpu model support for msa6, msa7 and msa8 KVM: x86: remove irq disablement around KVM_SET_CLOCK/KVM_GET_CLOCK kvm: better MWAIT emulation for guests KVM: x86: virtualize cpuid faulting ...

Linus Torvalds committed 9 years ago

Commit 2d3e4862 parents 9c6ee01 2e5b0bd150 files · +9189 −3843Browse files

Showing the changes to include/uapi/linux (1 of 150 files). Show all

Unified · Split

include/uapi/linux/kvm.h+25−0
@@ -702,6 +702,10 @@ struct kvm_ppc_resize_hpt { · 701 unmodified lines
702702 #define KVM_VM_PPC_HV 1
703703 #define KVM_VM_PPC_PR 2
704704
705+/* on MIPS, 0 forces trap & emulate, 1 forces VZ ASE */
706+#define KVM_VM_MIPS_TE 0
707+#define KVM_VM_MIPS_VZ 1
708+
705709 #define KVM_S390_SIE_PAGE_OFFSET 1
706710
707711 /*
@@ -883,6 +887,14 @@ struct kvm_ppc_resize_hpt { · 175 unmodified lines
883887 #define KVM_CAP_PPC_MMU_RADIX 134
884888 #define KVM_CAP_PPC_MMU_HASH_V3 135
885889 #define KVM_CAP_IMMEDIATE_EXIT 136
890+#define KVM_CAP_MIPS_VZ 137
891+#define KVM_CAP_MIPS_TE 138
892+#define KVM_CAP_MIPS_64BIT 139
893+#define KVM_CAP_S390_GS 140
894+#define KVM_CAP_S390_AIS 141
895+#define KVM_CAP_SPAPR_TCE_VFIO 142
896+#define KVM_CAP_X86_GUEST_MWAIT 143
897+#define KVM_CAP_ARM_USER_IRQ 144
886898
887899 #ifdef KVM_CAP_IRQ_ROUTING
888900
@@ -1087,6 +1099,7 @@ struct kvm_device_attr { · 198 unmodified lines
10871099 #define KVM_DEV_VFIO_GROUP 1
10881100 #define KVM_DEV_VFIO_GROUP_ADD 1
10891101 #define KVM_DEV_VFIO_GROUP_DEL 2
1102+#define KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE 3
10901103
10911104 enum kvm_device_type {
10921105 KVM_DEV_TYPE_FSL_MPIC_20 = 1,
@@ -1108,6 +1121,11 @@ enum kvm_device_type { · 15 unmodified lines
11081121 KVM_DEV_TYPE_MAX,
11091122 };
11101123
1124+struct kvm_vfio_spapr_tce {
1125+ __s32 groupfd;
1126+ __s32 tablefd;
1127+};
1128+
11111129 /*
11121130 * ioctls for VM fds
11131131 */
@@ -1354,4 +1372,11 @@ struct kvm_assigned_msix_entry { · 240 unmodified lines
13541372 #define KVM_X2APIC_API_USE_32BIT_IDS (1ULL << 0)
13551373 #define KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK (1ULL << 1)
13561374
1375+/* Available with KVM_CAP_ARM_USER_IRQ */
1376+
1377+/* Bits for run->s.regs.device_irq_level */
1378+#define KVM_ARM_DEV_EL1_VTIMER (1 << 0)
1379+#define KVM_ARM_DEV_EL1_PTIMER (1 << 1)
1380+#define KVM_ARM_DEV_PMU (1 << 2)
1381+
13571382 #endif /* __LINUX_KVM_H */