qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 00/10] Resolve isabus global


From: Bernhard Beschow
Subject: Re: [PATCH v2 00/10] Resolve isabus global
Date: Sun, 26 Feb 2023 20:38:24 +0000


Am 24. Februar 2023 16:22:48 UTC schrieb "Michael S. Tsirkin" <mst@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-shentey@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-philmd@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-shentey@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
>> 
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]