qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH 0/7] hw/ide: Untangle ISA/PCI abuses of ide_init_ioport()


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 0/7] hw/ide: Untangle ISA/PCI abuses of ide_init_ioport()
Date: Wed, 8 Feb 2023 01:09:44 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1

On 8/2/23 01:07, Philippe Mathieu-Daudé wrote:
Background thread:
5095dffc-309b-6c72-d255-8cdaa6fd3d52@ilande.co.uk/">https://lore.kernel.org/qemu-devel/5095dffc-309b-6c72-d255-8cdaa6fd3d52@ilande.co.uk/

The ide_init_ioport() method expect an ISA device, but is
massaged to accept NULL device (IOW, non-ISA devices...).

A plausible explanation is QOM objects can only inherit one
parent, and ide_init_ioport() was first used with ISA children.
Later it was adapted to accept PCI children in a convoluted
way. The PIIX IDE function abuse it.

This series rename the current ide_init_ioport() as
ide_init_ioport_isa(), then add a generic ide_init_ioport()
which works with PCI devices.

This is required to proceed with more PIIX cleanups.

Philippe Mathieu-Daudé (7):
   hw/isa: Un-inline isa_bus_from_device()
   hw/isa: Use isa_address_space_io() to reduce access on global 'isabus'
   hw/ide: Rename ISA specific ide_init_ioport() as ide_init_ioport_isa()
   hw/ide: Introduce generic ide_init_ioport()
   hw/ide/piix: Use generic ide_init_ioport()
   hw/isa: Assert isa_register_portio_list() gets non-NULL ISA device
   hw/ide/piix: Remove dead code in pci_piix_init_ports()

Forgot:
Based-on: <20230207234615.77300-1-philmd@linaro.org>
"exec/ioport: Factor portio_list_register[flush_coalesced]() out"
https://lore.kernel.org/qemu-devel/20230207234615.77300-1-philmd@linaro.org/





reply via email to

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