Re: [PATCH] testdev: adjust for ISA irq changes

Avi Kivity
2011-05-29T15:11:01Z

On 05/29/2011 06:05 PM, Jan Kiszka wrote:
> On 2011-05-29 14:57, Avi Kivity wrote:
> > Recent changes killed the ioapic_irq_hack hack, use the isa_get_irq() API
> > instead.
> >
> > Signed-off-by: Avi Kivity<avi@redhat.com>
> > ---
> > hw/isa-bus.c | 2 +-
> > hw/testdev.c | 4 +---
> > 2 files changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/hw/isa-bus.c b/hw/isa-bus.c
> > index 2765543..7e06efc 100644
> > --- a/hw/isa-bus.c
> > +++ b/hw/isa-bus.c
> > @@ -66,7 +66,7 @@ void isa_bus_irqs(qemu_irq *irqs)
> > */
> > qemu_irq isa_get_irq(int isairq)
> > {
> > - if (isairq< 0 || isairq> 15) {
> > + if (isairq< 0 || isairq> 23) {
>
> That's a fairly evil hack. It will break again when we clean up the kvm
> irqchips (not to speak of side effects in non-irqchip/non-kvm mode).
>
> Why not hook into the kvm irqchip directly? Would keep generic code out
> of this business until we have real irq pin manipulation in qemu.

Firstly, I did the minimal patch to get things working, as is my custom
when fixing up merge/refactoring problems. Not that I often follow up
with the clean fix.

Second, I'm not sure it's such a hack. Suppose our motherboard wired
the PCI links to GSI16-19 (or GSI16-23, as we once wanted before we had
MSI-X)? We'd need an API to access non-ISA interrupt lines.

So what's the clean fix here? gsi_get_irq()?

--
error compiling committee.c: too many arguments to function