xref: /qemu/include/hw/intc/i8259.h (revision a42706db)
1852c27e2SPaolo Bonzini #ifndef HW_I8259_H
2852c27e2SPaolo Bonzini #define HW_I8259_H
3852c27e2SPaolo Bonzini 
4852c27e2SPaolo Bonzini /* i8259.c */
5852c27e2SPaolo Bonzini 
6a42706dbSPaolo Bonzini typedef struct PICCommonState PICCommonState;
7a42706dbSPaolo Bonzini 
82aaf0ec7SBernhard Beschow extern PICCommonState *isa_pic;
978827d5fSPhilippe Mathieu-Daudé 
1078827d5fSPhilippe Mathieu-Daudé /*
1178827d5fSPhilippe Mathieu-Daudé  * i8259_init()
1278827d5fSPhilippe Mathieu-Daudé  *
1378827d5fSPhilippe Mathieu-Daudé  * Create a i8259 device on an ISA @bus,
1478827d5fSPhilippe Mathieu-Daudé  * connect its output to @parent_irq_in,
1578827d5fSPhilippe Mathieu-Daudé  * return an (allocated) array of 16 input IRQs.
1678827d5fSPhilippe Mathieu-Daudé  */
1778827d5fSPhilippe Mathieu-Daudé qemu_irq *i8259_init(ISABus *bus, qemu_irq parent_irq_in);
18852c27e2SPaolo Bonzini qemu_irq *kvm_i8259_init(ISABus *bus);
192aaf0ec7SBernhard Beschow int pic_get_output(PICCommonState *s);
202aaf0ec7SBernhard Beschow int pic_read_irq(PICCommonState *s);
21852c27e2SPaolo Bonzini 
22852c27e2SPaolo Bonzini #endif
23