qemu/include/hw/pci
Ben Widawsky 4f8db8711c hw/pxb: Allow creation of a CXL PXB (host bridge)
This works like adding a typical pxb device, except the name is
'pxb-cxl' instead of 'pxb-pcie'. An example command line would be as
follows:
  -device pxb-cxl,id=cxl.0,bus="pcie.0",bus_nr=1

A CXL PXB is backward compatible with PCIe. What this means in practice
is that an operating system that is unaware of CXL should still be able
to enumerate this topology as if it were PCIe.

One can create multiple CXL PXB host bridges, but a host bridge can only
be connected to the main root bus. Host bridges cannot appear elsewhere
in the topology.

Note that as of this patch, the ACPI tables needed for the host bridge
(specifically, an ACPI object in _SB named ACPI0016 and the CEDT) aren't
created. So while this patch internally creates it, it cannot be
properly used by an operating system or other system software.

Also necessary is to add an exception to scripts/device-crash-test
similar to that for exiting pxb as both must created on a PCIexpress
host bus.

Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Signed-off-by: Jonathan.Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20220429144110.25167-15-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2022-05-13 06:13:36 -04:00
..
msi.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
msix.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci.h hw/pxb: Allow creation of a CXL PXB (host bridge) 2022-05-13 06:13:36 -04:00
pci_bridge.h qtest/libqos: add a function to initialize secondary PCI buses 2021-12-15 08:07:04 +01:00
pci_bus.h hw/pci/cxl: Create a CXL bus type 2022-05-13 06:13:36 -04: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 vfio/pci: Add pba_offset PCI quirk for BAIDU KUNLUN AI processor 2021-07-14 13:47:17 -06: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 acpi: pcihp: pcie: set power on cap on parent slot 2022-03-06 05:08:23 -05:00
pcie_aer.h Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
pcie_host.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pcie_port.h hw/pci/pcie: Do not set HPC flag if acpihp is used 2021-07-16 04:33:35 -04:00
pcie_regs.h pcie: Add a simple PCIe ACS (Access Control Services) helper function 2019-03-12 22:31:21 -04:00
pcie_sriov.h pcie: Add a helper to the SR/IOV API 2022-03-06 05:08:23 -05:00
shpc.h Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
slotid_cap.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00