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 ...
Showing the changes to include/uapi/linux (1 of 150 files). Show all
Unified · Split
| @@ -702,6 +702,10 @@ struct kvm_ppc_resize_hpt { · 701 unmodified lines | |||
| 702 | #define KVM_VM_PPC_HV 1 | 702 | #define KVM_VM_PPC_HV 1 |
| 703 | #define KVM_VM_PPC_PR 2 | 703 | #define KVM_VM_PPC_PR 2 |
| 704 | 704 | ||
| 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 | |||
| 705 | #define KVM_S390_SIE_PAGE_OFFSET 1 | 709 | #define KVM_S390_SIE_PAGE_OFFSET 1 |
| 706 | 710 | ||
| 707 | /* | 711 | /* |
| @@ -883,6 +887,14 @@ struct kvm_ppc_resize_hpt { · 175 unmodified lines | |||
| 883 | #define KVM_CAP_PPC_MMU_RADIX 134 | 887 | #define KVM_CAP_PPC_MMU_RADIX 134 |
| 884 | #define KVM_CAP_PPC_MMU_HASH_V3 135 | 888 | #define KVM_CAP_PPC_MMU_HASH_V3 135 |
| 885 | #define KVM_CAP_IMMEDIATE_EXIT 136 | 889 | #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 | ||
| 886 | 898 | ||
| 887 | #ifdef KVM_CAP_IRQ_ROUTING | 899 | #ifdef KVM_CAP_IRQ_ROUTING |
| 888 | 900 | ||
| @@ -1087,6 +1099,7 @@ struct kvm_device_attr { · 198 unmodified lines | |||
| 1087 | #define KVM_DEV_VFIO_GROUP 1 | 1099 | #define KVM_DEV_VFIO_GROUP 1 |
| 1088 | #define KVM_DEV_VFIO_GROUP_ADD 1 | 1100 | #define KVM_DEV_VFIO_GROUP_ADD 1 |
| 1089 | #define KVM_DEV_VFIO_GROUP_DEL 2 | 1101 | #define KVM_DEV_VFIO_GROUP_DEL 2 |
| 1102 | #define KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE 3 | ||
| 1090 | 1103 | ||
| 1091 | enum kvm_device_type { | 1104 | enum kvm_device_type { |
| 1092 | KVM_DEV_TYPE_FSL_MPIC_20 = 1, | 1105 | KVM_DEV_TYPE_FSL_MPIC_20 = 1, |
| @@ -1108,6 +1121,11 @@ enum kvm_device_type { · 15 unmodified lines | |||
| 1108 | KVM_DEV_TYPE_MAX, | 1121 | KVM_DEV_TYPE_MAX, |
| 1109 | }; | 1122 | }; |
| 1110 | 1123 | ||
| 1124 | struct kvm_vfio_spapr_tce { | ||
| 1125 | __s32 groupfd; | ||
| 1126 | __s32 tablefd; | ||
| 1127 | }; | ||
| 1128 | |||
| 1111 | /* | 1129 | /* |
| 1112 | * ioctls for VM fds | 1130 | * ioctls for VM fds |
| 1113 | */ | 1131 | */ |
| @@ -1354,4 +1372,11 @@ struct kvm_assigned_msix_entry { · 240 unmodified lines | |||
| 1354 | #define KVM_X2APIC_API_USE_32BIT_IDS (1ULL << 0) | 1372 | #define KVM_X2APIC_API_USE_32BIT_IDS (1ULL << 0) |
| 1355 | #define KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK (1ULL << 1) | 1373 | #define KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK (1ULL << 1) |
| 1356 | 1374 | ||
| 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 | |||
| 1357 | #endif /* __LINUX_KVM_H */ | 1382 | #endif /* __LINUX_KVM_H */ |