qemu-e2k/include/hw/pci
Bernhard Beschow f021f4e9d2 hw/pci/pci: Factor out pci_bus_map_irqs() from pci_bus_irqs()
pci_bus_irqs() coupled together the assignment of pci_set_irq_fn and
pci_map_irq_fn to a PCI bus. This coupling gets in the way when the
pci_map_irq_fn is board-specific while the pci_set_irq_fn is device-
specific.

For example, both of QEMU's PIIX south bridge models have different
pci_map_irq_fn implementations which are board-specific rather than
device-specific. These implementations should therefore reside in board
code. The pci_set_irq_fn's, however, should stay in the device models
because they access memory internal to the model.

Factoring out pci_bus_map_irqs() from pci_bus_irqs() allows the
assignments to be decoupled, resolving the problem described above.

Note also how pci_vpb_realize() which gets touched in this commit
assigns different pci_map_irq_fn's depending on the board.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230109172347.1830-5-shentey@gmail.com>
[PMD: Factor out in vfu_object_set_bus_irq()]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2023-01-13 16:22:57 +01:00
..
msi.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
msix.h msix: Assert that specified vector is in range 2022-11-07 14:08:17 -05:00
pci_bridge.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
pci_bus.h intel-iommu: PASID support 2022-11-07 14:08:17 -05:00
pci_device.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
pci_host.h hw/pci/pci_host: Allow PCI host to bypass iommu 2021-07-16 11:10:45 -04:00
pci_ids.h remove DEC 21154 PCI bridge 2022-12-21 07:32:24 -05:00
pci_regs.h pcie: Add 1.2 version token for the Power Management Capability 2022-03-06 05:08:23 -05:00
pci.h hw/pci/pci: Factor out pci_bus_map_irqs() from pci_bus_irqs() 2023-01-13 16:22:57 +01:00
pcie_aer.h
pcie_doe.h hw/pci: PCIe Data Object Exchange emulation 2022-11-07 13:12:19 -05:00
pcie_host.h include/hw/pci/pcie_host: Correct PCIE_MMCFG_SIZE_MAX 2022-05-16 16:15:40 -04:00
pcie_port.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
pcie_regs.h hw/pci: PCIe Data Object Exchange emulation 2022-11-07 13:12:19 -05:00
pcie_sriov.h include/hw/pci: Include hw/pci/pci.h where needed 2023-01-08 01:54:22 -05:00
pcie.h include/hw/pci: Break inclusion loop pci_bridge.h and cxl.h 2023-01-08 01:54:22 -05:00
shpc.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
slotid_cap.h