diff options
author | Peter Crosthwaite <peter.crosthwaite@xilinx.com> | 2014-09-25 22:21:31 -0700 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-10-23 16:41:25 +0200 |
commit | 60a79016aed70c4ebcd45a8006c46dc9c397685a (patch) | |
tree | 9cb16a960c0625fc69a6ea36e0b16e67a7ecc7b1 /hw/core | |
parent | 0c24db2b8c60cb578d7af6fb50c0ad60a723a02d (diff) | |
download | hqemu-60a79016aed70c4ebcd45a8006c46dc9c397685a.zip hqemu-60a79016aed70c4ebcd45a8006c46dc9c397685a.tar.gz |
qtest/irq: Rework IRQ interception
Change the qtest intercept handler to accept just the individual IRQ
being intercepted as opaque. n is still expected to be correctly set
as for the original intercepted irq. qemu_intercept_irq_in is updated
accordingly.
Then covert the qemu_irq_intercept_out call to use qdev intercept
version. This stops qtest from having to mess with the raw IRQ pointers
(still has to mess with names and counts but a step in the right
direction).
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/core')
-rw-r--r-- | hw/core/irq.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/core/irq.c b/hw/core/irq.c index cffced0..4a580a2 100644 --- a/hw/core/irq.c +++ b/hw/core/irq.c @@ -140,7 +140,7 @@ void qemu_irq_intercept_in(qemu_irq *gpio_in, qemu_irq_handler handler, int n) for (i = 0; i < n; i++) { *old_irqs[i] = *gpio_in[i]; gpio_in[i]->handler = handler; - gpio_in[i]->opaque = old_irqs; + gpio_in[i]->opaque = &old_irqs[i]; } } |