qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v11 0/3] hw/pci-bridge/cxl: Add CXL Switches.
@ 2022-06-16 14:51 Jonathan Cameron via
  2022-06-16 14:51 ` [PATCH v11 1/3] pci-bridge/cxl_upstream: Add a CXL switch upstream port Jonathan Cameron via
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jonathan Cameron via @ 2022-06-16 14:51 UTC (permalink / raw)
  To: qemu-devel, Michael S . Tsirkin, Ben Widawsky
  Cc: Paolo Bonzini, linux-cxl, linuxarm, alex.bennee, Peter Maydell,
	Marcel Apfelbaum, Igor Mammedov, Markus Armbruster,
	Mark Cave-Ayland, Adam Manzanares, Tong Zhang,
	Shameerali Kolothum Thodi

Previously sent as patches 43-45 of
[PATCH v10 00/45] CXl 2.0 emulation Support
https://lore.kernel.org/qemu-devel/20220429144110.25167-45-Jonathan.Cameron@huawei.com/#r

Now the initial CXL support is upstream, patch sets applying to different
parts of the CXL infrastructure can be reviewed / applied in any
order.
I have just sent out arm/virt support and aim to send out DOE/CDAT patches
shortly. This series is independent of those others.

Changes since v10:
- Rebase.
- Typo fix in comment about xio3110.

This series adds CXL switch support in the form of upstream and downstream
ports + the additions to the interleave decoder in cxl-host to enable
us to interleave across the downstream switch ports.  The PCI IDs used
have been allocated against Huawei's Vendor ID for use for emulation of
these devices only. Primary use for this support is for testing the Linux
kernel stack.

Note only 1 level of switching / switch based HDM interleave decoding
is supported - consistent with typical CXL 2.0 systems.
Interleaving may occur and any / some / all of:
- Across multiple CXL host bridges (static setup via Fixed Memory Windows).
- Across multiple root ports in a given CXL host bridge (dynamic config
  via CXL host bridge register space.
- Across multiple downstream switch ports (this series).

All comments welcome,

Thanks,

Jonathan


Jonathan Cameron (3):
  pci-bridge/cxl_upstream: Add a CXL switch upstream port
  pci-bridge/cxl_downstream: Add a CXL switch downstream port
  docs/cxl: Add switch documentation

 docs/system/devices/cxl.rst    |  88 +++++++++++-
 hw/cxl/cxl-host.c              |  43 +++++-
 hw/pci-bridge/cxl_downstream.c | 249 +++++++++++++++++++++++++++++++++
 hw/pci-bridge/cxl_upstream.c   | 216 ++++++++++++++++++++++++++++
 hw/pci-bridge/meson.build      |   2 +-
 include/hw/cxl/cxl.h           |   5 +
 6 files changed, 598 insertions(+), 5 deletions(-)
 create mode 100644 hw/pci-bridge/cxl_downstream.c
 create mode 100644 hw/pci-bridge/cxl_upstream.c

-- 
2.32.0



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-06-16 14:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-16 14:51 [PATCH v11 0/3] hw/pci-bridge/cxl: Add CXL Switches Jonathan Cameron via
2022-06-16 14:51 ` [PATCH v11 1/3] pci-bridge/cxl_upstream: Add a CXL switch upstream port Jonathan Cameron via
2022-06-16 14:51 ` [PATCH v11 2/3] pci-bridge/cxl_downstream: Add a CXL switch downstream port Jonathan Cameron via
2022-06-16 14:51 ` [PATCH v11 3/3] docs/cxl: Add switch documentation Jonathan Cameron via

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).