History

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

Pull KVM updates from Paolo Bonzini: "PPC changes will come next week. - s390: Support for runtime instrumentation within guests, support of 248 VCPUs. - ARM: rewrite of the arm64 world switch in C, support for 16-bit VM identifiers. Performance counter virtualization missed the boat. - x86: Support for more Hyper-V features (synthetic interrupt controller), MMU cleanups" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (115 commits) kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL kvm/x86: Hyper-V SynIC timers tracepoints kvm/x86: Hyper-V SynIC tracepoints kvm/x86: Update SynIC timers on guest entry only kvm/x86: Skip SynIC vector check for QEMU side kvm/x86: Hyper-V fix SynIC timer disabling condition kvm/x86: Reorg stimer_expiration() to better control timer restart kvm/x86: Hyper-V unify stimer_start() and stimer_restart() kvm/x86: Drop stimer_stop() function kvm/x86: Hyper-V timers fix incorrect logical operation KVM: move architecture-dependent requests to arch/ KVM: renumber vcpu->request bits KVM: document which architecture uses each request bit KVM: Remove unused KVM_REQ_KICK to save a bit in vcpu->requests kvm: x86: Check kvm_write_guest return value in kvm_write_wall_clock KVM: s390: implement the RI support of guest kvm/s390: drop unpaired smp_mb kvm: x86: fix comment about {mmu,nested_mmu}.gva_to_gpa KVM: x86: MMU: Use clear_page() instead of init_shadow_page_table() arm/arm64: KVM: Detect vGIC presence at runtime ...

Linus Torvalds committed 10 years ago

Commit 1baa5ef2 parents c9bed1c 45bdbcf87 files · +4043 −2393Browse files

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

Unified · Split

include/uapi/linux/kvm.h+26−0
@@ -154,6 +154,20 @@ struct kvm_s390_skeys { · 153 unmodified lines
154 __u32 flags;154 __u32 flags;
155 __u32 reserved[9];155 __u32 reserved[9];
156};156};
157
158struct kvm_hyperv_exit {
159#define KVM_EXIT_HYPERV_SYNIC 1
160 __u32 type;
161 union {
162 struct {
163 __u32 msr;
164 __u64 control;
165 __u64 evt_page;
166 __u64 msg_page;
167 } synic;
168 } u;
169};
170
157#define KVM_S390_GET_SKEYS_NONE 1171#define KVM_S390_GET_SKEYS_NONE 1
158#define KVM_S390_SKEYS_MAX 1048576172#define KVM_S390_SKEYS_MAX 1048576
159 173
@@ -184,6 +198,7 @@ struct kvm_s390_skeys { · 24 unmodified lines
184#define KVM_EXIT_SYSTEM_EVENT 24198#define KVM_EXIT_SYSTEM_EVENT 24
185#define KVM_EXIT_S390_STSI 25199#define KVM_EXIT_S390_STSI 25
186#define KVM_EXIT_IOAPIC_EOI 26200#define KVM_EXIT_IOAPIC_EOI 26
201#define KVM_EXIT_HYPERV 27
187 202
188/* For KVM_EXIT_INTERNAL_ERROR */203/* For KVM_EXIT_INTERNAL_ERROR */
189/* Emulate instruction failed. */204/* Emulate instruction failed. */
@@ -338,6 +353,8 @@ struct kvm_run { · 148 unmodified lines
338 struct {353 struct {
339 __u8 vector;354 __u8 vector;
340 } eoi;355 } eoi;
356 /* KVM_EXIT_HYPERV */
357 struct kvm_hyperv_exit hyperv;
341 /* Fix the size of the union. */358 /* Fix the size of the union. */
342 char padding[256];359 char padding[256];
343 };360 };
@@ -831,6 +848,8 @@ struct kvm_ppc_smmu_info { · 487 unmodified lines
831#define KVM_CAP_GUEST_DEBUG_HW_WPS 120848#define KVM_CAP_GUEST_DEBUG_HW_WPS 120
832#define KVM_CAP_SPLIT_IRQCHIP 121849#define KVM_CAP_SPLIT_IRQCHIP 121
833#define KVM_CAP_IOEVENTFD_ANY_LENGTH 122850#define KVM_CAP_IOEVENTFD_ANY_LENGTH 122
851#define KVM_CAP_HYPERV_SYNIC 123
852#define KVM_CAP_S390_RI 124
834 853
835#ifdef KVM_CAP_IRQ_ROUTING854#ifdef KVM_CAP_IRQ_ROUTING
836 855
@@ -854,10 +873,16 @@ struct kvm_irq_routing_s390_adapter { · 17 unmodified lines
854 __u32 adapter_id;873 __u32 adapter_id;
855};874};
856 875
876struct kvm_irq_routing_hv_sint {
877 __u32 vcpu;
878 __u32 sint;
879};
880
857/* gsi routing entry types */881/* gsi routing entry types */
858#define KVM_IRQ_ROUTING_IRQCHIP 1882#define KVM_IRQ_ROUTING_IRQCHIP 1
859#define KVM_IRQ_ROUTING_MSI 2883#define KVM_IRQ_ROUTING_MSI 2
860#define KVM_IRQ_ROUTING_S390_ADAPTER 3884#define KVM_IRQ_ROUTING_S390_ADAPTER 3
885#define KVM_IRQ_ROUTING_HV_SINT 4
861 886
862struct kvm_irq_routing_entry {887struct kvm_irq_routing_entry {
863 __u32 gsi;888 __u32 gsi;
@@ -868,6 +893,7 @@ struct kvm_irq_routing_entry { · 4 unmodified lines
868 struct kvm_irq_routing_irqchip irqchip;893 struct kvm_irq_routing_irqchip irqchip;
869 struct kvm_irq_routing_msi msi;894 struct kvm_irq_routing_msi msi;
870 struct kvm_irq_routing_s390_adapter adapter;895 struct kvm_irq_routing_s390_adapter adapter;
896 struct kvm_irq_routing_hv_sint hv_sint;
871 __u32 pad[8];897 __u32 pad[8];
872 } u;898 } u;
873};899};