qemu-e2k/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
msix.h
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
pci_ids.h
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/pxb: Allow creation of a CXL PXB (host bridge) 2022-05-13 06:13:36 -04:00
pcie_aer.h
pcie_host.h
pcie_port.h
pcie_regs.h
pcie_sriov.h pcie: Add a helper to the SR/IOV API 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
shpc.h
slotid_cap.h