History

KVM: s390: irq routing for adapter interrupts.

Introduce a new interrupt class for s390 adapter interrupts and enable irqfds for s390. This is depending on a new s390 specific vm capability, KVM_CAP_S390_IRQCHIP, that needs to be enabled by userspace.

Cornelia Huck committed 13 years ago

Commit 84223591 parent 841b91c9 files · +209 −5Browse files

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

Unified · Split

include/uapi/linux/kvm.h+11−0
@@ -742,6 +742,7 @@ struct kvm_ppc_smmu_info { · 741 unmodified lines
742742 #define KVM_CAP_HYPERV_TIME 96
743743 #define KVM_CAP_IOAPIC_POLARITY_IGNORED 97
744744 #define KVM_CAP_ENABLE_CAP_VM 98
745+#define KVM_CAP_S390_IRQCHIP 99
745746
746747 #ifdef KVM_CAP_IRQ_ROUTING
747748
@@ -757,9 +758,18 @@ struct kvm_irq_routing_msi { · 9 unmodified lines
757758 __u32 pad;
758759 };
759760
761+struct kvm_irq_routing_s390_adapter {
762+ __u64 ind_addr;
763+ __u64 summary_addr;
764+ __u64 ind_offset;
765+ __u32 summary_offset;
766+ __u32 adapter_id;
767+};
768+
760769 /* gsi routing entry types */
761770 #define KVM_IRQ_ROUTING_IRQCHIP 1
762771 #define KVM_IRQ_ROUTING_MSI 2
772+#define KVM_IRQ_ROUTING_S390_ADAPTER 3
763773
764774 struct kvm_irq_routing_entry {
765775 __u32 gsi;
@@ -769,6 +779,7 @@ struct kvm_irq_routing_entry { · 3 unmodified lines
769779 union {
770780 struct kvm_irq_routing_irqchip irqchip;
771781 struct kvm_irq_routing_msi msi;
782+ struct kvm_irq_routing_s390_adapter adapter;
772783 __u32 pad[8];
773784 } u;
774785 };