Since v2: rebased I'm posting this series as it to not block Bernhard's PIIX cleanup work. I don't have code change planned, but eventually reword / improve commit descriptions.
Tested commit after commit to be sure it is bisectable. Sadly this was before Zoltan & Thomas report a problem with commit bb98e0f59c ("hw/isa/vt82c686: Remove intermediate IRQ forwarder"). Background thread: https://lore.kernel.org/qemu-devel/5095dffc-309b-6c72-d255-8cdaa6fd3...@ilande.co.uk/ Philippe Mathieu-Daudé (18): hw/ide/piix: Expose output IRQ as properties for late object population hw/ide/piix: Allow using PIIX3-IDE as standalone PCI function hw/i386/pc_piix: Wire PIIX3 IDE ouput IRQs to ISA bus IRQs 14/15 hw/isa/piix4: Wire PIIX4 IDE ouput IRQs to ISA bus IRQs 14/15 hw/ide: Rename ISA specific ide_init_ioport -> ide_bus_init_ioport_isa hw/ide/piix: Ensure IDE output IRQs are wired at realization hw/isa: Deprecate isa_get_irq() in favor of isa_bus_get_irq() hw/ide: Introduce generic ide_init_ioport() hw/ide/piix: Use generic ide_bus_init_ioport() hw/isa: Ensure isa_register_portio_list() do not get NULL ISA device hw/isa: Simplify isa_address_space[_io]() hw/isa: Reduce 'isabus' singleton scope to isa_bus_new() exec/ioport: Factor portio_list_register_flush_coalesced() out exec/ioport: Factor portio_list_register() out hw/southbridge/piix: Use OBJECT_DECLARE_SIMPLE_TYPE() macro hw/isa/piix: Batch register QOM types using DEFINE_TYPES() macro hw/isa/piix: Unify QOM type name of PIIX ISA function hw/isa/piix: Unify PIIX-ISA QOM type names using qdev aliases hw/audio/adlib.c | 4 +-- hw/display/qxl.c | 7 ++-- hw/display/vga.c | 9 +++-- hw/dma/i82374.c | 7 ++-- hw/i386/pc_piix.c | 13 +++++--- hw/ide/ioport.c | 15 +++++++-- hw/ide/isa.c | 2 +- hw/ide/piix.c | 54 +++++++++++++++++++++++------- hw/isa/isa-bus.c | 36 ++++++++------------ hw/isa/piix3.c | 63 +++++++++++++++-------------------- hw/isa/piix4.c | 12 ++++--- hw/mips/malta.c | 2 +- hw/watchdog/wdt_ib700.c | 4 +-- include/exec/ioport.h | 15 +++++---- include/hw/ide/internal.h | 3 +- include/hw/ide/isa.h | 3 ++ include/hw/ide/piix.h | 4 +++ include/hw/isa/isa.h | 3 +- include/hw/southbridge/piix.h | 14 ++++---- softmmu/ioport.c | 48 +++++++++++++++++++------- softmmu/qdev-monitor.c | 3 ++ 21 files changed, 190 insertions(+), 131 deletions(-) -- 2.38.1