xref: /kvmtool/include/kvm/irq.h (revision 5f0a22b7f8012b2b51b0aea2874d94f6f8355f8a)
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