History

Merge tag 'kvm-3.9-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM updates from Marcelo Tosatti: "KVM updates for the 3.9 merge window, including x86 real mode emulation fixes, stronger memory slot interface restrictions, mmu_lock spinlock hold time reduction, improved handling of large page faults on shadow, initial APICv HW acceleration support, s390 channel IO based virtio, amongst others" * tag 'kvm-3.9-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (143 commits) Revert "KVM: MMU: lazily drop large spte" x86: pvclock kvm: align allocation size to page size KVM: nVMX: Remove redundant get_vmcs12 from nested_vmx_exit_handled_msr x86 emulator: fix parity calculation for AAD instruction KVM: PPC: BookE: Handle alignment interrupts booke: Added DBCR4 SPR number KVM: PPC: booke: Allow multiple exception types KVM: PPC: booke: use vcpu reference from thread_struct KVM: Remove user_alloc from struct kvm_memory_slot KVM: VMX: disable apicv by default KVM: s390: Fix handling of iscs. KVM: MMU: cleanup __direct_map KVM: MMU: remove pt_access in mmu_set_spte KVM: MMU: cleanup mapping-level KVM: MMU: lazily drop large spte KVM: VMX: cleanup vmx_set_cr0(). KVM: VMX: add missing exit names to VMX_EXIT_REASONS array KVM: VMX: disable SMEP feature when guest is in non-paging mode KVM: Remove duplicate text in api.txt Revert "KVM: MMU: split kvm_mmu_free_page" ...

Linus Torvalds committed 13 years ago

Commit 89f88332 parents 9e2d59a 6b73a9665 files · +4359 −1671Browse files

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

Unified · Split

include/uapi/linux/kvm.h+27−0
@@ -169,6 +169,8 @@ struct kvm_pit_config { · 168 unmodified lines
169169 #define KVM_EXIT_PAPR_HCALL 19
170170 #define KVM_EXIT_S390_UCONTROL 20
171171 #define KVM_EXIT_WATCHDOG 21
172+#define KVM_EXIT_S390_TSCH 22
173+#define KVM_EXIT_EPR 23
172174
173175 /* For KVM_EXIT_INTERNAL_ERROR */
174176 /* Emulate instruction failed. */
@@ -286,6 +288,19 @@ struct kvm_run { · 111 unmodified lines
286288 __u64 ret;
287289 __u64 args[9];
288290 } papr_hcall;
291+ /* KVM_EXIT_S390_TSCH */
292+ struct {
293+ __u16 subchannel_id;
294+ __u16 subchannel_nr;
295+ __u32 io_int_parm;
296+ __u32 io_int_word;
297+ __u32 ipb;
298+ __u8 dequeued;
299+ } s390_tsch;
300+ /* KVM_EXIT_EPR */
301+ struct {
302+ __u32 epr;
303+ } epr;
289304 /* Fix the size of the union. */
290305 char padding[256];
291306 };
@@ -398,10 +413,20 @@ struct kvm_s390_psw { · 106 unmodified lines
398413 #define KVM_S390_PROGRAM_INT 0xfffe0001u
399414 #define KVM_S390_SIGP_SET_PREFIX 0xfffe0002u
400415 #define KVM_S390_RESTART 0xfffe0003u
416+#define KVM_S390_MCHK 0xfffe1000u
401417 #define KVM_S390_INT_VIRTIO 0xffff2603u
402418 #define KVM_S390_INT_SERVICE 0xffff2401u
403419 #define KVM_S390_INT_EMERGENCY 0xffff1201u
404420 #define KVM_S390_INT_EXTERNAL_CALL 0xffff1202u
421+/* Anything below 0xfffe0000u is taken by INT_IO */
422+#define KVM_S390_INT_IO(ai,cssid,ssid,schid) \
423+ (((schid)) | \
424+ ((ssid) << 16) | \
425+ ((cssid) << 18) | \
426+ ((ai) << 26))
427+#define KVM_S390_INT_IO_MIN 0x00000000u
428+#define KVM_S390_INT_IO_MAX 0xfffdffffu
429+
405430
406431 struct kvm_s390_interrupt {
407432 __u32 type;
@@ -636,6 +661,8 @@ struct kvm_ppc_smmu_info { · 228 unmodified lines
636661 #define KVM_CAP_IRQFD_RESAMPLE 82
637662 #define KVM_CAP_PPC_BOOKE_WATCHDOG 83
638663 #define KVM_CAP_PPC_HTAB_FD 84
664+#define KVM_CAP_S390_CSS_SUPPORT 85
665+#define KVM_CAP_PPC_EPR 86
639666 #define KVM_CAP_ARM_PSCI 87
640667 #define KVM_CAP_ARM_SET_DEVICE_ADDR 88
641668