On Thu, Jan 26, 2023 at 10:17:30PM +0100, Bernhard Beschow wrote: > This series resolves the global "isabus" variable and is basically a v2 of > [1]. > Note that the majority of the work consists of fixing ISA API calls in PIIX > IDE > which implicitly rely on the usage of the isabus global. > > Rather than adding an ISABus pointer in PCIIDEState as in [1] this series uses > a qemu_irq array which is roughly the approach outlined in [2]. Moreover, this > series considers backwards compatibility for user-created PIIX IDE > "Frankensten" devices by fishing out TYPE_ISA_BUS from the QOM tree inside > the PIIX IDE device model. This hack can be removed again once a deprecation > period of user-createable PIIX IDE devices is over. This deprecation wasn't > announced yet but now might be a good time. > > This series is structured as follows: The first three patches massage the ISA > code for patch 8. Patches 4-8 change the PIIX IDE device models to not use the > isabus global implicitly. Finally, the last two patches clan up and remove the > isabus singleton.
I expect there will be a v3 of this, right? > Based-on: <20230109172347.1830-1-shen...@gmail.com> > 'Consolidate PIIX south bridges' > > v2: > - Big rework sticking closer to [1], giving it more credit and reusing one > patch > - Add io port cleanup > - Rebase onto [4] so changes to PIIX could be done once and centrally > > Testing done: > * `make check` > * `./qemu-system-x86_64 -M x-remote -device piix3-ide` still fails gracefully > with > `qemu-system-x86_64: -device piix3-ide: No ISA bus found while piix3-ide > requires one` > * `qemu-system-x86_64 -M pc -m 2G -cdrom > manjaro-kde-21.3.2-220704-linux515.iso` > * `qemu-system-x86_64 -M q35 -m 2G -device piix4-ide -cdrom \ > manjaro-kde-21.3.2-220704-linux515.iso` > * `qemu-system-mips64el -M malta -kernel vmlinux-3.2.0-4-5kc-malta -hda \ > debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=ttyS0"` > > [1] https://patchew.org/QEMU/20210518215545.1793947-1-phi...@redhat.com/ > [2] https://lists.nongnu.org/archive/html/qemu-devel/2020-03/msg01707.html > [3] https://people.debian.org/~aurel32/qemu/mips/ > [4] https://patchew.org/QEMU/20230109172347.1830-1-shen...@gmail.com/ > > Bernhard Beschow (9): > softmmu/ioport: Move portio_list_init() in front of portio_list_add() > softmmu/ioport: Merge portio_list_add() into portio_list_init() > softmmu/ioport: Remove unused functions > hw/ide/piix: Disuse isa_get_irq() > Revert "hw/ide: Fix crash when plugging a piix3-ide device into the > x-remote machine" > hw/ide/pci: Add PCIIDEState::isa_irqs[] > hw/ide/piix: Require an ISABus only for user-created instances > hw/ide: Let ide_init_ioport() take a MemoryRegion argument instead of > ISADevice > hw/isa/isa-bus: Resolve isabus global > > Philippe Mathieu-Daudé (1): > hw/isa: Remove use of global isa bus > > include/exec/ioport.h | 8 ++--- > include/hw/ide/internal.h | 3 +- > include/hw/ide/pci.h | 2 ++ > include/hw/isa/isa.h | 15 ++++---- > hw/audio/adlib.c | 4 +-- > hw/display/qxl.c | 5 ++- > hw/display/vga.c | 8 ++--- > hw/dma/i82374.c | 6 ++-- > hw/ide/ioport.c | 19 +++++----- > hw/ide/isa.c | 4 ++- > hw/ide/piix.c | 75 +++++++++++++++++++++++++++++++-------- > hw/isa/isa-bus.c | 54 +++++++++++++++------------- > hw/isa/piix.c | 5 +++ > hw/watchdog/wdt_ib700.c | 4 +-- > softmmu/ioport.c | 70 +++++++++++------------------------- > 15 files changed, 149 insertions(+), 133 deletions(-) > > -- > 2.39.1 >