aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-07-06 21:38:31 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-07-06 21:38:31 -0400
commitc136b84393d4e340e1b53fc7f737dd5827b19ee5 (patch)
tree985a1bdfafe7ec5ce2d3c738f601cad3998d8ce9 /include/uapi/linux
parente0f25a3f2d052e36ff67a9b4db835c3e27e950d8 (diff)
parent1372324b328cd5dabaef5e345e37ad48c63df2a9 (diff)
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 ...
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/kvm.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 577429a95ad8..c0b6dfec5f87 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -155,6 +155,35 @@ struct kvm_s390_skeys {
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 */
176struct 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
158struct kvm_hyperv_exit { 187struct 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 {
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 {
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)