__u32 address_hi;
__u32 data;
__u32 flags;
- __u8 pad[16];
+ __u32 devid;
+ __u8 pad[12];
};
- No flags are defined so far. The corresponding field must be 0.
+ 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.
+
+ 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.
+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
#define KVM_CAP_ARM_PMU_V3 126
#define KVM_CAP_VCPU_ATTRIBUTES 127
#define KVM_CAP_MAX_VCPU_ID 128
-#define KVM_CAP_MSI_DEVID 129
+#define KVM_CAP_X2APIC_API 129
+#define KVM_CAP_S390_USER_INSTR0 130
++#define KVM_CAP_MSI_DEVID 131
#ifdef KVM_CAP_IRQ_ROUTING