Hi, This series implements the suggestions from Markus analysis: https://www.mail-archive.com/qemu-block@nongnu.org/msg84090.html on the ISA bus.
There is still work to do (remove global get_system_io?) but this is enough to convert a crash to an error message, and the changes are simple, so posting now as RFC. TBC... Philippe Mathieu-Daudé (11): hw/isa: Explode pci_create_simple() calls hw/ide: Add PCIIDEState::isa_bus link hw/ide/piix: Set the ISA-bus QOM link hw/ide/via: Set the ISA-bus QOM link hw/isa: Extract isa_bus_get_irq() from isa_get_irq() hw/ide: Replace isa_get_irq() by isa_bus_get_irq() hw/isa: Simplify isa_get_irq() hw/isa: Extract bus part from isa_register_portio_list() hw/ide: Let ide_init_ioport() take an ISA bus argument instead of device hw/isa: Remove use of global isa bus hw/isa: Rename isabus singleton as 'g_isabus' include/hw/ide/internal.h | 3 +- include/hw/ide/pci.h | 1 + include/hw/isa/isa.h | 5 ++++ hw/i386/pc_piix.c | 7 +++-- hw/ide/ioport.c | 11 +++---- hw/ide/isa.c | 3 +- hw/ide/piix.c | 22 +++++++++++--- hw/ide/via.c | 18 ++++++++++-- hw/isa/isa-bus.c | 61 +++++++++++++++++++++++++++++---------- hw/isa/piix4.c | 13 ++++++--- hw/mips/fuloong2e.c | 7 ++++- hw/ppc/pegasos2.c | 7 ++++- 12 files changed, 122 insertions(+), 36 deletions(-) -- 2.26.3