aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/kvm.h
diff options
context:
space:
mode:
authorSheng Yang <sheng@linux.intel.com>2009-02-10 00:57:06 -0500
committerAvi Kivity <avi@redhat.com>2009-03-24 05:03:09 -0400
commit79950e1073150909619b7c0f9a39a2fea83a42d8 (patch)
tree5dc96ee5d69029d61b90bc18d44cb42baaa925cd /include/linux/kvm.h
parent34c33d163fe509da8414a736c6328855f8c164e5 (diff)
KVM: Use irq routing API for MSI
Merge MSI userspace interface with IRQ routing table. Notice the API have been changed, and using IRQ routing table would be the only interface kvm-userspace supported. Signed-off-by: Sheng Yang <sheng@linux.intel.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'include/linux/kvm.h')
-rw-r--r--include/linux/kvm.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 869462ca7625..2163b3dd36e7 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -410,8 +410,16 @@ struct kvm_irq_routing_irqchip {
410 __u32 pin; 410 __u32 pin;
411}; 411};
412 412
413struct kvm_irq_routing_msi {
414 __u32 address_lo;
415 __u32 address_hi;
416 __u32 data;
417 __u32 pad;
418};
419
413/* gsi routing entry types */ 420/* gsi routing entry types */
414#define KVM_IRQ_ROUTING_IRQCHIP 1 421#define KVM_IRQ_ROUTING_IRQCHIP 1
422#define KVM_IRQ_ROUTING_MSI 2
415 423
416struct kvm_irq_routing_entry { 424struct kvm_irq_routing_entry {
417 __u32 gsi; 425 __u32 gsi;
@@ -420,6 +428,7 @@ struct kvm_irq_routing_entry {
420 __u32 pad; 428 __u32 pad;
421 union { 429 union {
422 struct kvm_irq_routing_irqchip irqchip; 430 struct kvm_irq_routing_irqchip irqchip;
431 struct kvm_irq_routing_msi msi;
423 __u32 pad[8]; 432 __u32 pad[8];
424 } u; 433 } u;
425}; 434};