#define KVM_IRQ_ROUTING_S390_ADAPTER 3
#define KVM_IRQ_ROUTING_HV_SINT 4
- No flags are specified so far, the corresponding field must be set to zero.
+ flags:
-- KVM_MSI_VALID_DEVID: used along with KVM_IRQ_ROUTING_MSI
- routing entry type, specifies that the devid field contains
- a valid value.
++- KVM_MSI_VALID_DEVID: used along with KVM_IRQ_ROUTING_MSI routing entry
++ type, specifies that the devid field contains a valid value. The per-VM
++ KVM_CAP_MSI_DEVID capability advertises the requirement to provide
++ the device ID. If this capability is not available, userspace should
++ never set the KVM_MSI_VALID_DEVID flag as the ioctl might fail.
+ - zero otherwise
struct kvm_irq_routing_irqchip {
__u32 irqchip;
__u32 address_lo;
__u32 address_hi;
__u32 data;
- __u32 pad;
+ union {
+ __u32 pad;
+ __u32 devid;
+ };
};
-devid: If KVM_MSI_VALID_DEVID is set, contains a unique device identifier
- for the device that wrote the MSI message.
- For PCI, this is usually a BFD identifier in the lower 16 bits.
++If KVM_MSI_VALID_DEVID is set, devid contains a unique device identifier
++for the device that wrote the MSI message. For PCI, this is usually a
++BFD identifier in the lower 16 bits.
+
-The per-VM KVM_CAP_MSI_DEVID capability advertises the requirement to
-provide the device ID. If this capability is not set, userland cannot
-rely on the kernel to allow the KVM_MSI_VALID_DEVID flag being set.
+On x86, address_hi is ignored unless the KVM_X2APIC_API_USE_32BIT_IDS
+feature of KVM_CAP_X2APIC_API capability is enabled. If it is enabled,
+address_hi bits 31-8 provide bits 31-8 of the destination id. Bits 7-0 of
+address_hi must be zero.
struct kvm_irq_routing_s390_adapter {
__u64 ind_addr;
__u8 pad[12];
};
--flags: KVM_MSI_VALID_DEVID: devid contains a valid value
--devid: If KVM_MSI_VALID_DEVID is set, contains a unique device identifier
-- for the device that wrote the MSI message.
-- For PCI, this is usually a BFD identifier in the lower 16 bits.
++flags: KVM_MSI_VALID_DEVID: devid contains a valid value. The per-VM
++ KVM_CAP_MSI_DEVID capability advertises the requirement to provide
++ the device ID. If this capability is not available, userspace
++ should never set the KVM_MSI_VALID_DEVID flag as the ioctl might fail.
--The per-VM KVM_CAP_MSI_DEVID capability advertises the need to provide
--the device ID. If this capability is not set, userland cannot rely on
--the kernel to allow the KVM_MSI_VALID_DEVID flag being set.
++If KVM_MSI_VALID_DEVID is set, devid contains a unique device identifier
++for the device that wrote the MSI message. For PCI, this is usually a
++BFD identifier in the lower 16 bits.
+
+On x86, address_hi is ignored unless the KVM_CAP_X2APIC_API capability is
+enabled. If it is enabled, address_hi bits 31-8 provide bits 31-8 of the
+destination id. Bits 7-0 of address_hi must be zero.
4.71 KVM_CREATE_PIT2