History

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

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 ...

Linus Torvalds committed 9 years ago

Commit c136b842 parents e0f25a3 137232495 files · +4250 −967Browse files

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

Unified · Split

include/uapi/linux/kvm.h+35−0
@@ -155,6 +155,35 @@ struct kvm_s390_skeys { · 154 unmodified lines
155155 __u32 reserved[9];
156156 };
157157
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+
158187 struct kvm_hyperv_exit {
159188 #define KVM_EXIT_HYPERV_SYNIC 1
160189 #define KVM_EXIT_HYPERV_HCALL 2
@@ -895,6 +924,9 @@ struct kvm_ppc_resize_hpt { · 734 unmodified lines
895924 #define KVM_CAP_SPAPR_TCE_VFIO 142
896925 #define KVM_CAP_X86_GUEST_MWAIT 143
897926 #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
898930
899931 #ifdef KVM_CAP_IRQ_ROUTING
900932
@@ -1318,6 +1350,9 @@ struct kvm_s390_ucas_mapping { · 417 unmodified lines
13181350 #define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state)
13191351 /* Available with KVM_CAP_X86_SMM */
13201352 #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)
13211356
13221357 #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
13231358 #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)