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
742#define KVM_CAP_HYPERV_TIME 96742#define KVM_CAP_HYPERV_TIME 96
743#define KVM_CAP_IOAPIC_POLARITY_IGNORED 97743#define KVM_CAP_IOAPIC_POLARITY_IGNORED 97
744#define KVM_CAP_ENABLE_CAP_VM 98744#define KVM_CAP_ENABLE_CAP_VM 98
745#define KVM_CAP_S390_IRQCHIP 99
745 746
746#ifdef KVM_CAP_IRQ_ROUTING747#ifdef KVM_CAP_IRQ_ROUTING
747 748
@@ -757,9 +758,18 @@ struct kvm_irq_routing_msi { · 9 unmodified lines
757 __u32 pad;758 __u32 pad;
758};759};
759 760
761struct 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
760/* gsi routing entry types */769/* gsi routing entry types */
761#define KVM_IRQ_ROUTING_IRQCHIP 1770#define KVM_IRQ_ROUTING_IRQCHIP 1
762#define KVM_IRQ_ROUTING_MSI 2771#define KVM_IRQ_ROUTING_MSI 2
772#define KVM_IRQ_ROUTING_S390_ADAPTER 3
763 773
764struct kvm_irq_routing_entry {774struct kvm_irq_routing_entry {
765 __u32 gsi;775 __u32 gsi;
@@ -769,6 +779,7 @@ struct kvm_irq_routing_entry { · 3 unmodified lines
769 union {779 union {
770 struct kvm_irq_routing_irqchip irqchip;780 struct kvm_irq_routing_irqchip irqchip;
771 struct kvm_irq_routing_msi msi;781 struct kvm_irq_routing_msi msi;
782 struct kvm_irq_routing_s390_adapter adapter;
772 __u32 pad[8];783 __u32 pad[8];
773 } u;784 } u;
774};785};