diff options
Diffstat (limited to 'hw/irq.h')
-rw-r--r-- | hw/irq.h | 17 |
1 files changed, 15 insertions, 2 deletions
@@ -1,8 +1,11 @@ +#ifndef QEMU_IRQ_H +#define QEMU_IRQ_H + /* Generic IRQ/GPIO pin infrastructure. */ +/* FIXME: Rmove one of these. */ typedef void (*qemu_irq_handler)(void *opaque, int n, int level); - -typedef struct IRQState *qemu_irq; +typedef void SetIRQFunc(void *opaque, int irq_num, int level); void qemu_set_irq(qemu_irq irq, int level); @@ -16,6 +19,16 @@ static inline void qemu_irq_lower(qemu_irq irq) qemu_set_irq(irq, 0); } +static inline void qemu_irq_pulse(qemu_irq irq) +{ + qemu_set_irq(irq, 1); + qemu_set_irq(irq, 0); +} + /* Returns an array of N IRQs. */ qemu_irq *qemu_allocate_irqs(qemu_irq_handler handler, void *opaque, int n); +/* Returns a new IRQ with opposite polarity. */ +qemu_irq qemu_irq_invert(qemu_irq irq); + +#endif |