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.
Showing the changes to include/uapi/linux (1 of 9 files). Show all
Unified · Split
| @@ -742,6 +742,7 @@ struct kvm_ppc_smmu_info { · 741 unmodified lines | |||
| 742 | #define KVM_CAP_HYPERV_TIME 96 | 742 | #define KVM_CAP_HYPERV_TIME 96 |
| 743 | #define KVM_CAP_IOAPIC_POLARITY_IGNORED 97 | 743 | #define KVM_CAP_IOAPIC_POLARITY_IGNORED 97 |
| 744 | #define KVM_CAP_ENABLE_CAP_VM 98 | 744 | #define KVM_CAP_ENABLE_CAP_VM 98 |
| 745 | #define KVM_CAP_S390_IRQCHIP 99 | ||
| 745 | 746 | ||
| 746 | #ifdef KVM_CAP_IRQ_ROUTING | 747 | #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 | ||
| 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 | |||
| 760 | /* gsi routing entry types */ | 769 | /* gsi routing entry types */ |
| 761 | #define KVM_IRQ_ROUTING_IRQCHIP 1 | 770 | #define KVM_IRQ_ROUTING_IRQCHIP 1 |
| 762 | #define KVM_IRQ_ROUTING_MSI 2 | 771 | #define KVM_IRQ_ROUTING_MSI 2 |
| 772 | #define KVM_IRQ_ROUTING_S390_ADAPTER 3 | ||
| 763 | 773 | ||
| 764 | struct kvm_irq_routing_entry { | 774 | struct 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 | }; |