Pull KVM updates from Paolo Bonzini: "PPC: - Better machine check handling for HV KVM - Ability to support guests with threads=2, 4 or 8 on POWER9 - Fix for a race that could cause delayed recognition of signals - Fix for a bug where POWER9 guests could sleep with interrupts pending. ARM: - VCPU request overhaul - allow timer and PMU to have their interrupt number selected from userspace - workaround for Cavium erratum 30115 - handling of memory poisonning - the usual crop of fixes and cleanups s390: - initial machine check forwarding - migration support for the CMMA page hinting information - cleanups and fixes x86: - nested VMX bugfixes and improvements - more reliable NMI window detection on AMD - APIC timer optimizations Generic: - VCPU request overhaul + documentation of common code patterns - kvm_stat improvements" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (124 commits) Update my email address kvm: vmx: allow host to access guest MSR_IA32_BNDCFGS x86: kvm: mmu: use ept a/d in vmcs02 iff used in vmcs12 kvm: x86: mmu: allow A/D bits to be disabled in an mmu x86: kvm: mmu: make spte mmio mask more explicit x86: kvm: mmu: dead code thanks to access tracking KVM: PPC: Book3S: Fix typo in XICS-on-XIVE state saving code KVM: PPC: Book3S HV: Close race with testing for signals on guest entry KVM: PPC: Book3S HV: Simplify dynamic micro-threading code KVM: x86: remove ignored type attribute KVM: LAPIC: Fix lapic timer injection delay KVM: lapic: reorganize restart_apic_timer KVM: lapic: reorganize start_hv_timer kvm: nVMX: Check memory operand to INVVPID KVM: s390: Inject machine check into the nested guest KVM: s390: Inject machine check into the guest tools/kvm_stat: add new interactive command 'b' tools/kvm_stat: add new command line switch '-i' tools/kvm_stat: fix error on interactive command 'g' KVM: SVM: suppress unnecessary NMI singlestep on GIF=0 and nested exit ...
Showing the changes to include/uapi/linux (1 of 95 files). Show all
Unified · Split
| @@ -155,6 +155,35 @@ struct kvm_s390_skeys { · 154 unmodified lines | |||
| 155 | __u32 reserved[9]; | 155 | __u32 reserved[9]; |
| 156 | }; | 156 | }; |
| 157 | 157 | ||
| 158 | #define KVM_S390_CMMA_PEEK (1 << 0) | ||
| 159 | |||
| 160 | /** | ||
| 161 | * kvm_s390_cmma_log - Used for CMMA migration. | ||
| 162 | * | ||
| 163 | * Used both for input and output. | ||
| 164 | * | ||
| 165 | * @start_gfn: Guest page number to start from. | ||
| 166 | * @count: Size of the result buffer. | ||
| 167 | * @flags: Control operation mode via KVM_S390_CMMA_* flags | ||
| 168 | * @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty | ||
| 169 | * pages are still remaining. | ||
| 170 | * @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set | ||
| 171 | * in the PGSTE. | ||
| 172 | * @values: Pointer to the values buffer. | ||
| 173 | * | ||
| 174 | * Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls. | ||
| 175 | */ | ||
| 176 | struct kvm_s390_cmma_log { | ||
| 177 | __u64 start_gfn; | ||
| 178 | __u32 count; | ||
| 179 | __u32 flags; | ||
| 180 | union { | ||
| 181 | __u64 remaining; | ||
| 182 | __u64 mask; | ||
| 183 | }; | ||
| 184 | __u64 values; | ||
| 185 | }; | ||
| 186 | |||
| 158 | struct kvm_hyperv_exit { | 187 | struct kvm_hyperv_exit { |
| 159 | #define KVM_EXIT_HYPERV_SYNIC 1 | 188 | #define KVM_EXIT_HYPERV_SYNIC 1 |
| 160 | #define KVM_EXIT_HYPERV_HCALL 2 | 189 | #define KVM_EXIT_HYPERV_HCALL 2 |
| @@ -895,6 +924,9 @@ struct kvm_ppc_resize_hpt { · 734 unmodified lines | |||
| 895 | #define KVM_CAP_SPAPR_TCE_VFIO 142 | 924 | #define KVM_CAP_SPAPR_TCE_VFIO 142 |
| 896 | #define KVM_CAP_X86_GUEST_MWAIT 143 | 925 | #define KVM_CAP_X86_GUEST_MWAIT 143 |
| 897 | #define KVM_CAP_ARM_USER_IRQ 144 | 926 | #define KVM_CAP_ARM_USER_IRQ 144 |
| 927 | #define KVM_CAP_S390_CMMA_MIGRATION 145 | ||
| 928 | #define KVM_CAP_PPC_FWNMI 146 | ||
| 929 | #define KVM_CAP_PPC_SMT_POSSIBLE 147 | ||
| 898 | 930 | ||
| 899 | #ifdef KVM_CAP_IRQ_ROUTING | 931 | #ifdef KVM_CAP_IRQ_ROUTING |
| 900 | 932 | ||
| @@ -1318,6 +1350,9 @@ struct kvm_s390_ucas_mapping { · 417 unmodified lines | |||
| 1318 | #define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state) | 1350 | #define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state) |
| 1319 | /* Available with KVM_CAP_X86_SMM */ | 1351 | /* Available with KVM_CAP_X86_SMM */ |
| 1320 | #define KVM_SMI _IO(KVMIO, 0xb7) | 1352 | #define KVM_SMI _IO(KVMIO, 0xb7) |
| 1353 | /* Available with KVM_CAP_S390_CMMA_MIGRATION */ | ||
| 1354 | #define KVM_S390_GET_CMMA_BITS _IOW(KVMIO, 0xb8, struct kvm_s390_cmma_log) | ||
| 1355 | #define KVM_S390_SET_CMMA_BITS _IOW(KVMIO, 0xb9, struct kvm_s390_cmma_log) | ||
| 1321 | 1356 | ||
| 1322 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) | 1357 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) |
| 1323 | #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) | 1358 | #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) |