Message ID | 20230302224058.43315-5-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | hw/ide: Untangle ISA/PCI abuses of ide_init_ioport() | expand |
On 02/03/2023 22:40, Philippe Mathieu-Daudé wrote: > piix4_realize() initialized an array of 16 ISA IRQs in > PIIX4State::isa[], use it to wire the IDE output IRQs. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > hw/isa/piix4.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c > index e0b149f8eb..702b458a3e 100644 > --- a/hw/isa/piix4.c > +++ b/hw/isa/piix4.c > @@ -229,6 +229,8 @@ static void piix4_realize(PCIDevice *dev, Error **errp) > > /* IDE */ > qdev_prop_set_int32(DEVICE(&s->ide), "addr", dev->devfn + 1); > + qdev_connect_gpio_out_named(DEVICE(&s->ide), "ide-irq", 0, s->isa[14]); > + qdev_connect_gpio_out_named(DEVICE(&s->ide), "ide-irq", 1, s->isa[15]); > if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { > return; > } The wiring approach looks right, although again the qdev_connect_gpio_out*() should be after qdev_realize(). ATB, Mark.
diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index e0b149f8eb..702b458a3e 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -229,6 +229,8 @@ static void piix4_realize(PCIDevice *dev, Error **errp) /* IDE */ qdev_prop_set_int32(DEVICE(&s->ide), "addr", dev->devfn + 1); + qdev_connect_gpio_out_named(DEVICE(&s->ide), "ide-irq", 0, s->isa[14]); + qdev_connect_gpio_out_named(DEVICE(&s->ide), "ide-irq", 1, s->isa[15]); if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { return; }
piix4_realize() initialized an array of 16 ISA IRQs in PIIX4State::isa[], use it to wire the IDE output IRQs. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- hw/isa/piix4.c | 2 ++ 1 file changed, 2 insertions(+)