qemu-e2k/include/hw/pci
Jonathan Cameron c28db9e000 hw/pci-bridge: Make PCIe and CXL PXB Devices inherit from TYPE_PXB_DEV
Previously, PXB_CXL_DEVICE, PXB_PCIE_DEVICE and PXB_DEVICE all
have PCI_DEVICE as their direct parent but share a common state
struct PXBDev. convert_to_pxb() is used to get the PXBDev
instance from which ever of these types it is called on.

This patch switches to an explicit hierarchy based on shared
functionality.  To allow use of OBJECT_DECLARE_SIMPLE_TYPE()
whilst minimizing code changes, all types are renamed to have
the postfix _DEV rather than _DEVICE.  The new heirarchy
has PXB_CXL_DEV with parent PXB_PCIE_DEV which in turn
has parent PXB_DEV which continues to have parent PCI_DEVICE.

This allows simple use of PXB_DEV() etc rather than a custom function
+ removal of duplicated properties and moving the CXL specific
elements out of struct PXBDev.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20230420142750.6950-3-Jonathan.Cameron@huawei.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2023-04-24 22:56:55 -04:00
..
msi.h hw/xen: Support MSI mapping to PIRQ 2023-03-01 09:09:22 +00:00
msix.h msix: Assert that specified vector is in range 2022-11-07 14:08:17 -05:00
pci.h pci: avoid accessing slot_reserved_mask directly outside of pci.c 2023-04-21 04:25:52 -04:00
pci_bridge.h hw/pci-bridge: Make PCIe and CXL PXB Devices inherit from TYPE_PXB_DEV 2023-04-24 22:56:55 -04: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
pcie.h pcie: drop unused PCIExpressIndicator 2023-03-02 03:10:49 -05:00
pcie_aer.h hw/pci/aer: Make PCIE AER error injection facility available for other emulation to use. 2023-03-07 12:39:00 -05:00
pcie_doe.h Don't include headers already included by qemu/osdep.h 2023-02-08 07:28:05 +01: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 hw/pci: Add pcie_count_ds_port() and pcie_find_port_first() helpers 2023-03-07 19:51:07 -05:00
pcie_regs.h hw/pci/aer: Implement PCI_ERR_UNCOR_MASK register 2023-03-07 12:39:00 -05:00
pcie_sriov.h pcie: Introduce pcie_sriov_num_vfs 2023-03-10 15:35:38 +08:00
shpc.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
slotid_cap.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00