qemu-block
[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: Mon, 30 Jan 2023 17:05:01 +0000

+ Mark whom I've discussed "multiple ISA buses" before

Am 26. Januar 2023 21:17:30 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>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.
>
>
>
>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] 20230109172347.1830-1-shentey@gmail.com/">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]