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 | 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 | 187 | struct kvm_hyperv_exit { |
| 159 | 188 | #define KVM_EXIT_HYPERV_SYNIC 1 |
| 160 | 189 | #define KVM_EXIT_HYPERV_HCALL 2 |
| @@ -895,6 +924,9 @@ struct kvm_ppc_resize_hpt { · 734 unmodified lines | ||
| 895 | 924 | #define KVM_CAP_SPAPR_TCE_VFIO 142 |
| 896 | 925 | #define KVM_CAP_X86_GUEST_MWAIT 143 |
| 897 | 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 | 931 | #ifdef KVM_CAP_IRQ_ROUTING |
| 900 | 932 | |
| @@ -1318,6 +1350,9 @@ struct kvm_s390_ucas_mapping { · 417 unmodified lines | ||
| 1318 | 1350 | #define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state) |
| 1319 | 1351 | /* Available with KVM_CAP_X86_SMM */ |
| 1320 | 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 | 1357 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) |
| 1323 | 1358 | #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) |