Am 24. Februar 2023 16:22:48 UTC schrieb "Michael S. Tsirkin" <m...@redhat.com>:
>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?
I would do it and I could rebase onto master if necessary. However, another
series unrelated to this one but doing essentially the same thing with less
backwards promises went through various iterations in the meantime. I don't
know what the plan is.
Best regards,
Bernhard
>
>
>> 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
>>
>