Following patches aim to change ISA bus to a first-citizen class in Qemu. They add ISA bus ops, like for scsi and usb buses.
Current ISA bridges (PIIX3, PIIX4, EBUS and VT82C686) are converted to this new API, and a simple 'isabus-bridge' device is added. isa_address_space() operation can probably be used to remove the infamous isa_mem_base variable. However, some work is already done in this direction on the ML, so I didn't change anything. Finally, add bus argument to isa_create() functions, so architectures with multiple ISA buses (like some Alpha systems) can be emulated. As RFC didn't receive much comments, I put this serie as patches. Hervé Poussineau (11): isa: rename isa_bus_new to isa_bus_bridge_init isa: rework ISA bus internals, and add ISA bus ops structure isa: implement isa_address_space() as a method of ISA bus audio: give ISA bus to sound cards, instead of PIC pc: improve bus implementation of PIIX3 bridge fulong2e: move pic initialization + ISA bus creation to south bridge sun4u: improve bus implementation of EBus bridge malta: improve bus implementation of PIIX4 bridge isa: remove unused parameter to isa_bus_bridge_init() isa: give bus to isa_create() methods isa: remove limitation of only one ISA bus Makefile.objs | 2 +- arch_init.c | 10 +++--- arch_init.h | 2 +- hw/adlib.c | 2 +- hw/audiodev.h | 8 ++-- hw/cs4231a.c | 4 +- hw/fdc.h | 2 +- hw/gus.c | 4 +- hw/ide/isa.c | 2 +- hw/isa-bridge.c | 77 +++++++++++++++++++++++++++++++++++++++++++++ hw/isa-bus.c | 88 +++++++++++++++++++++++---------------------------- hw/isa.h | 25 ++++++++++++--- hw/m48t59.c | 2 +- hw/mc146818rtc.c | 2 +- hw/mips_fulong2e.c | 11 ++----- hw/mips_jazz.c | 5 ++- hw/mips_malta.c | 5 +-- hw/mips_r4k.c | 4 +- hw/pc.c | 8 ++-- hw/pc.h | 18 +++++----- hw/pc_piix.c | 7 ++-- hw/pcspk.c | 2 +- hw/piix4.c | 23 ++++++++++++- hw/piix_pci.c | 38 +++++++++++++++++++--- hw/ppc_prep.c | 4 +- hw/sb16.c | 4 +- hw/sun4u.c | 25 ++++++++++---- hw/vt82c686.c | 24 +++++++++++++- hw/vt82c686.h | 2 +- qemu-common.h | 1 + 30 files changed, 285 insertions(+), 126 deletions(-) create mode 100644 hw/isa-bridge.c -- 1.7.5.4