@@ -91,6 +91,16 @@ void qemu_free_irq(qemu_irq irq)
object_unref(OBJECT(irq));
}
+qemu_irq_handler qemu_irq_get_handler(qemu_irq irq)
+{
+ return irq->handler;
+}
+
+void *qemu_irq_get_opaque(qemu_irq irq)
+{
+ return irq->opaque;
+}
+
static void qemu_notirq(void *opaque, int line, int level)
{
struct IRQState *irq = opaque;
@@ -27,6 +27,10 @@ static inline void qemu_irq_pulse(qemu_irq irq)
qemu_set_irq(irq, 0);
}
+qemu_irq_handler qemu_irq_get_handler(qemu_irq irq);
+
+void *qemu_irq_get_opaque(qemu_irq irq);
+
/* Returns an array of N IRQs. Each IRQ is assigned the argument handler and
* opaque data.
*/
Add two functions one to get the irq handler function and another to get the opaque data from a qemu_irq. Signed-off-by: Alistair Francis <alistair@alistair23.me> --- hw/core/irq.c | 10 ++++++++++ include/hw/irq.h | 4 ++++ 2 files changed, 14 insertions(+)