Am 29. Juni 2024 20:01:54 UTC schrieb BALATON Zoltan <bala...@eik.bme.hu>:
>To avoid a warning about unfreed qemu_irq embed the i8259 irq in the
>device state instead of allocating it.
>
>Signed-off-by: BALATON Zoltan <bala...@eik.bme.hu>
>---
> hw/isa/vt82c686.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
>diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
>index 8582ac0322..834051abeb 100644
>--- a/hw/isa/vt82c686.c
>+++ b/hw/isa/vt82c686.c
>@@ -592,6 +592,8 @@ OBJECT_DECLARE_SIMPLE_TYPE(ViaISAState, VIA_ISA)
>
> struct ViaISAState {
> PCIDevice dev;
>+
>+ IRQState i8259_irq;
Rename s/i8259/intr/ to match the pin name of the chip? Same for commit message
and subject.
For consistency with piix4 it might be cleaner to export the pin. Though not
need at the moment since it has no users.
With the renaming applied:
Reviewed-by: Bernhard Beschow <shen...@gmail.com>
> qemu_irq cpu_intr;
> qemu_irq *isa_irqs_in;
> uint16_t irq_state[ISA_NUM_IRQS];
>@@ -715,13 +717,12 @@ static void via_isa_realize(PCIDevice *d, Error **errp)
> ViaISAState *s = VIA_ISA(d);
> DeviceState *dev = DEVICE(d);
> PCIBus *pci_bus = pci_get_bus(d);
>- qemu_irq *isa_irq;
> ISABus *isa_bus;
> int i;
>
> qdev_init_gpio_out(dev, &s->cpu_intr, 1);
> qdev_init_gpio_in_named(dev, via_isa_pirq, "pirq", PCI_NUM_PINS);
>- isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1);
>+ qemu_init_irq(&s->i8259_irq, via_isa_request_i8259_irq, s, 0);
> isa_bus = isa_bus_new(dev, pci_address_space(d), pci_address_space_io(d),
> errp);
>
>@@ -729,7 +730,7 @@ static void via_isa_realize(PCIDevice *d, Error **errp)
> return;
> }
>
>- s->isa_irqs_in = i8259_init(isa_bus, *isa_irq);
>+ s->isa_irqs_in = i8259_init(isa_bus, &s->i8259_irq);
> isa_bus_register_input_irqs(isa_bus, s->isa_irqs_in);
> i8254_pit_init(isa_bus, 0x40, 0, NULL);
> i8257_dma_init(OBJECT(d), isa_bus, 0);