diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-07-06 21:38:31 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-07-06 21:38:31 -0400 |
| commit | c136b84393d4e340e1b53fc7f737dd5827b19ee5 (patch) | |
| tree | 985a1bdfafe7ec5ce2d3c738f601cad3998d8ce9 /include/uapi/linux | |
| parent | e0f25a3f2d052e36ff67a9b4db835c3e27e950d8 (diff) | |
| parent | 1372324b328cd5dabaef5e345e37ad48c63df2a9 (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.h | 35 |
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 | */ | ||
| 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 { | |||
| 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) |
