On 21/5/22 10:48, Mark Cave-Ayland wrote:
On 13/05/2022 18:54, Bernhard Beschow wrote:
Bernhard Beschow (6):
include/hw: Move TYPE_PIIX4_PCI_DEVICE to southbridge/piix.h
hw/isa/piix{3,4}: Move pci_map_irq_fn's near pci_set_irq_fn's
hw/isa/piix{3,4}: QOM'ify PCI device creation and wiring
hw/isa/piix{3,4}: Factor out ISABus retrieval from create() functions
hw/isa/piix4: Factor out SM bus initialization from create() function
hw/isa/piix{3,4}: Inline and remove create() functions
I've just reviewed these, and other than a couple of minor issues these
look good to me and definitely help to improve the code.
One thing reading over this patches has made me realise is that there is
quite a model violation here in that the PIIX3 and PIIX4 devices (which
are the PCI-ISA bridges) are actually setting the PCI host bridge
IRQs(!). What should happen is that the PCI bus IRQs and routing should
be done in the PCI host bridge, and gpios used in the PCI-ISA bridges to
pass them up. But that's definitely something outside the scope of these
improvements.
Yes. Do you mind opening a GitLab issue?