|
@@ -740,6 +740,9 @@ struct kvm_ppc_smmu_info {
|
|
|
#define KVM_CAP_SPAPR_MULTITCE 94
|
|
|
#define KVM_CAP_EXT_EMUL_CPUID 95
|
|
|
#define KVM_CAP_HYPERV_TIME 96
|
|
|
+#define KVM_CAP_IOAPIC_POLARITY_IGNORED 97
|
|
|
+#define KVM_CAP_ENABLE_CAP_VM 98
|
|
|
+#define KVM_CAP_S390_IRQCHIP 99
|
|
|
|
|
|
#ifdef KVM_CAP_IRQ_ROUTING
|
|
|
|
|
@@ -755,9 +758,18 @@ struct kvm_irq_routing_msi {
|
|
|
__u32 pad;
|
|
|
};
|
|
|
|
|
|
+struct kvm_irq_routing_s390_adapter {
|
|
|
+ __u64 ind_addr;
|
|
|
+ __u64 summary_addr;
|
|
|
+ __u64 ind_offset;
|
|
|
+ __u32 summary_offset;
|
|
|
+ __u32 adapter_id;
|
|
|
+};
|
|
|
+
|
|
|
/* gsi routing entry types */
|
|
|
#define KVM_IRQ_ROUTING_IRQCHIP 1
|
|
|
#define KVM_IRQ_ROUTING_MSI 2
|
|
|
+#define KVM_IRQ_ROUTING_S390_ADAPTER 3
|
|
|
|
|
|
struct kvm_irq_routing_entry {
|
|
|
__u32 gsi;
|
|
@@ -767,6 +779,7 @@ struct kvm_irq_routing_entry {
|
|
|
union {
|
|
|
struct kvm_irq_routing_irqchip irqchip;
|
|
|
struct kvm_irq_routing_msi msi;
|
|
|
+ struct kvm_irq_routing_s390_adapter adapter;
|
|
|
__u32 pad[8];
|
|
|
} u;
|
|
|
};
|
|
@@ -1075,6 +1088,10 @@ struct kvm_s390_ucas_mapping {
|
|
|
/* Available with KVM_CAP_DEBUGREGS */
|
|
|
#define KVM_GET_DEBUGREGS _IOR(KVMIO, 0xa1, struct kvm_debugregs)
|
|
|
#define KVM_SET_DEBUGREGS _IOW(KVMIO, 0xa2, struct kvm_debugregs)
|
|
|
+/*
|
|
|
+ * vcpu version available with KVM_ENABLE_CAP
|
|
|
+ * vm version available with KVM_CAP_ENABLE_CAP_VM
|
|
|
+ */
|
|
|
#define KVM_ENABLE_CAP _IOW(KVMIO, 0xa3, struct kvm_enable_cap)
|
|
|
/* Available with KVM_CAP_XSAVE */
|
|
|
#define KVM_GET_XSAVE _IOR(KVMIO, 0xa4, struct kvm_xsave)
|