On 10/15/21 03:06, BALATON Zoltan wrote: > Use via_isa_set_irq() which better encapsulates irq handling in the > vt82xx model and avoids using isa_get_irq() that has a comment saying > it should not be used. > > Signed-off-by: BALATON Zoltan <bala...@eik.bme.hu> > --- > hw/ide/via.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/ide/via.c b/hw/ide/via.c > index 94cc2142c7..252d18f4ac 100644 > --- a/hw/ide/via.c > +++ b/hw/ide/via.c > @@ -29,7 +29,7 @@ > #include "migration/vmstate.h" > #include "qemu/module.h" > #include "sysemu/dma.h" > - > +#include "hw/isa/vt82c686.h" > #include "hw/ide/pci.h" > #include "trace.h" > > @@ -112,7 +112,7 @@ static void via_ide_set_irq(void *opaque, int n, int > level) > d->config[0x70 + n * 8] &= ~0x80; > } > > - qemu_set_irq(isa_get_irq(NULL, 14 + n), level); > + via_isa_set_irq(pci_get_function_0(d), 14 + n, level);
Since pci_get_function_0() is expensive, we should cache 'PCIDevice *func0' in PCIIDEState, setting the pointer in via_ide_realize(). Do you mind sending a follow-up patch? > } Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org>