1 #ifndef KVM__IRQ_H 2 #define KVM__IRQ_H 3 4 #include <linux/types.h> 5 #include <linux/rbtree.h> 6 #include <linux/list.h> 7 8 struct kvm; 9 10 struct irq_line { 11 u8 line; 12 struct list_head node; 13 }; 14 15 struct pci_dev { 16 struct rb_node node; 17 u32 id; 18 u8 pin; 19 struct list_head lines; 20 }; 21 22 int irq__register_device(u32 dev, u8 *num, u8 *pin, u8 *line); 23 24 struct rb_node *irq__get_pci_tree(void); 25 26 void irq__init(struct kvm *kvm); 27 int irq__add_msix_route(struct kvm *kvm, u32 low, u32 high, u32 data); 28 29 #endif 30