All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 -qemu 0/5] hw/cxl: Support Back-Invalidate
@ 2025-11-03 19:52 Davidlohr Bueso
  2025-11-03 19:52 ` [PATCH 1/5] hw/pcie: Support enabling flit mode Davidlohr Bueso
                   ` (6 more replies)
  0 siblings, 7 replies; 26+ messages in thread
From: Davidlohr Bueso @ 2025-11-03 19:52 UTC (permalink / raw)
  To: jonathan.cameron
  Cc: ira.weiny, alucerop, a.manzanares, dongjoo.seo1, mst,
	marcel.apfelbaum, armbru, linux-cxl, qemu-devel, dave

The following allows support for component basic back invalidation discovery
and config, by exposing the BI routing table and decoder registers. Instead
of going the type2[0] route, this series proposes adding support for type3
hdm-db, which allows a more direct way of supporting BI in qemu.

Changes from v3 (https://lore.kernel.org/all/20250930032153.1127773-1-dave@stgolabs.net/):
  o Fix Flexbus caps bits in patch 1. (Jonathan)
  o Flipped the bi arg to true for hard-configured components in patch 4 (Jonathan).
  o Expose the BI routing table only if the sw upstream port is in Flit mode.
  o Removed the mem-path= arg in the documentation as it deals with volatile (Donjoo). 

Changes from v2 (https://lore.kernel.org/linux-cxl/20250811033405.332295-1-dave@stgolabs.net/):
  o Renamed 256b-flit to x-256b-flit (mst)
  o Added a brief description of flit mode in patch 1 changelog (Markus)
  o Added missing hdm-db parameter which went missing in v2.
  o Replaced the new CXL3_TYPE3_DEVICE with passing 'bi' params. (Jonathan)
  o Fixed writemask bits in patch 4. (Jonathan)
  o Misc cleanups in patch 4. (Jonathan)
  o New patch 5 to remove register special_ops read() cb. (Jonathan)

Changes from v1 (https://lore.kernel.org/qemu-devel/20250806055708.196851-1-dave@stgolabs.net/):
  o Further lnk training in patch 1. (Jonathan)
  o Flit parameter changed to bool in patch 1. (Jonathan)
  o Do not set 68B in component Flexbus Port when in flitmode in patch 1.
  o Doc build fixlet in patch 3.
  o Pass the exact type3 type in cxl_component_create_dvsec() - unused, but better
    for keeping track, in patch 4.
  o Change doc example to volatile device in patch 4.

Changes from rfc (https://lore.kernel.org/qemu-devel/20250729165441.1898150-1-dave@stgolabs.net/):
  o Added 256b-flit parameter, per Jonathan.
  o Added window restrictions changes.
  o Dropped rfc tag.

Patch 1 introduces the flit mode parameter.
Patch 2 is lifted from Ira's series with some small (but non-trivial) changes.
Patch 3 updates the cfmw restrictions option.
Patch 4 adds BI decoder/rt register support to enable type3 HDM-DB.
Patch 5 is a small cleanup.

Testing wise, this has passed relevant kernel side BI register IO flows for
BI-ID setup and deallocation.

The next step for this would be to add UIO support to qemu.

Applies against branch 'origin/cxl-2025-10-03-draft' from Jonathan's repository.

Thanks!

Davidlohr Bueso (4):
  hw/pcie: Support enabling flit mode
  hw/cxl: Allow BI by default in Window restrictions
  hw/cxl: Support type3 HDM-DB
  hw/cxl: Remove register special_ops->read()

Ira Weiny (1):
  hw/cxl: Refactor component register initialization

 docs/system/devices/cxl.rst               |  23 +++
 hw/cxl/cxl-component-utils.c              | 211 ++++++++++++++++------
 hw/cxl/cxl-host.c                         |   2 +-
 hw/mem/cxl_type3.c                        |  15 +-
 hw/pci-bridge/cxl_downstream.c            |  10 +-
 hw/pci-bridge/cxl_root_port.c             |  11 +-
 hw/pci-bridge/cxl_upstream.c              |  18 +-
 hw/pci-bridge/gen_pcie_root_port.c        |   1 +
 hw/pci-bridge/pci_expander_bridge.c       |   2 +-
 hw/pci/pcie.c                             |  23 ++-
 include/hw/cxl/cxl_component.h            |  87 +++++++--
 include/hw/cxl/cxl_device.h               |   4 +
 include/hw/pci-bridge/cxl_upstream_port.h |   1 +
 include/hw/pci/pcie.h                     |   2 +-
 include/hw/pci/pcie_port.h                |   1 +
 qapi/machine.json                         |   3 +-
 qemu-options.hx                           |   4 +-
 17 files changed, 319 insertions(+), 99 deletions(-)

--
2.39.5


^ permalink raw reply	[flat|nested] 26+ messages in thread
* [PATCH v3 -qemu 0/5] hw/cxl: Support Back-Invalidate
@ 2025-09-30  3:21 Davidlohr Bueso
  2025-09-30  3:21 ` [PATCH 3/5] hw/cxl: Allow BI by default in Window restrictions Davidlohr Bueso
  0 siblings, 1 reply; 26+ messages in thread
From: Davidlohr Bueso @ 2025-09-30  3:21 UTC (permalink / raw)
  To: jonathan.cameron
  Cc: ira.weiny, lucerop, a.manzanares, mst, marcel.apfelbaum, armbru,
	linux-cxl, qemu-devel, dave

Hello,

The following allows support for component basic back invalidation discovery
and config, by exposing the BI routing table and decoder registers. Instead
of going the type2[0] route, this series proposes adding support for type3
hdm-db, which allows a more direct way of supporting BI in qemu.

Changes from v2 (https://lore.kernel.org/linux-cxl/20250811033405.332295-1-dave@stgolabs.net/):
  o Renamed 256b-flit to x-256b-flit (mst)
  o Added a brief description of flit mode in patch 1 changelog (Markus)
  o Added missing hdm-db parameter which went missing in v2.
  o Replaced the new CXL3_TYPE3_DEVICE with passing 'bi' params. (Jonathan)
  o Fixed writemask bits in patch 4. (Jonathan)
  o Misc cleanups in patch 4. (Jonathan)
  o New patch 5 to remove register special_ops read() cb. (Jonathan)

Changes from v1 (https://lore.kernel.org/qemu-devel/20250806055708.196851-1-dave@stgolabs.net/):
  o Further lnk training in patch 1. (Jonathan)
  o Flit parameter changed to bool in patch 1. (Jonathan)
  o Do not set 68B in component Flexbus Port when in flitmode in patch 1.
  o Doc build fixlet in patch 3.
  o Pass the exact type3 type in cxl_component_create_dvsec() - unused, but better
    for keeping track, in patch 4.
  o Change doc example to volatile device in patch 4.

Changes from rfc (https://lore.kernel.org/qemu-devel/20250729165441.1898150-1-dave@stgolabs.net/):
  o Added 256b-flit parameter, per Jonathan.
  o Added window restrictions changes.
  o Dropped rfc tag.

Patch 1 introduces the flit mode parameter.
Patch 2 is lifted from Ira's series with some small (but non-trivial) changes.
Patch 3 updates the cfmw restrictions option.
Patch 4 adds BI decoder/rt register support to enable type3 HDM-DB.
Patch 5 is a small cleanup.

Testing wise, this has passed relevant kernel side BI register IO flows for
BI-ID setup and deallocation.

The next step for this would be to add UIO support to qemu.

Applies against branch 'origin/cxl-2025-07-03' from Jonathan's repository.

Thanks!

Davidlohr Bueso (4):
  hw/pcie: Support enabling flit mode
  hw/cxl: Allow BI by default in Window restrictions
  hw/cxl: Support type3 HDM-DB
  hw/cxl: Remove register special_ops->read()

Ira Weiny (1):
  hw/cxl: Refactor component register initialization

 docs/system/devices/cxl.rst               |  23 +++
 hw/cxl/cxl-component-utils.c              | 214 ++++++++++++++++------
 hw/cxl/cxl-host.c                         |   2 +-
 hw/mem/cxl_type3.c                        |  18 +-
 hw/pci-bridge/cxl_downstream.c            |  13 +-
 hw/pci-bridge/cxl_root_port.c             |  14 +-
 hw/pci-bridge/cxl_upstream.c              |  21 ++-
 hw/pci-bridge/gen_pcie_root_port.c        |   1 +
 hw/pci-bridge/pci_expander_bridge.c       |   2 +-
 hw/pci/pcie.c                             |  23 ++-
 include/hw/cxl/cxl_component.h            |  87 +++++++--
 include/hw/cxl/cxl_device.h               |   4 +
 include/hw/pci-bridge/cxl_upstream_port.h |   1 +
 include/hw/pci/pcie.h                     |   2 +-
 include/hw/pci/pcie_port.h                |   1 +
 qapi/machine.json                         |   3 +-
 qemu-options.hx                           |   4 +-
 17 files changed, 329 insertions(+), 104 deletions(-)

--
2.39.5


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

end of thread, other threads:[~2026-01-02 16:35 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-03 19:52 [PATCH v4 -qemu 0/5] hw/cxl: Support Back-Invalidate Davidlohr Bueso
2025-11-03 19:52 ` [PATCH 1/5] hw/pcie: Support enabling flit mode Davidlohr Bueso
2025-12-18 16:31   ` Jonathan Cameron
2025-12-18 16:31     ` Jonathan Cameron via
2025-11-03 19:52 ` [PATCH 2/5] hw/cxl: Refactor component register initialization Davidlohr Bueso
2025-11-03 19:52 ` [PATCH 3/5] hw/cxl: Allow BI by default in Window restrictions Davidlohr Bueso
2025-12-18  9:18   ` Markus Armbruster
2025-12-18 15:48     ` Jonathan Cameron
2025-12-18 15:48       ` Jonathan Cameron via
2025-12-18 15:59       ` Markus Armbruster
2025-12-19 17:53         ` Jonathan Cameron
2025-12-19 17:53           ` Jonathan Cameron via
2025-11-03 19:52 ` [PATCH 4/5] hw/cxl: Support type3 HDM-DB Davidlohr Bueso
2025-11-03 19:52 ` [PATCH 5/5] hw/cxl: Remove register special_ops->read() Davidlohr Bueso
2025-12-16  1:12 ` [PATCH v4 -qemu 0/5] hw/cxl: Support Back-Invalidate Davidlohr Bueso
2025-12-17 13:59   ` Jonathan Cameron
2025-12-17 13:59     ` Jonathan Cameron via
2025-12-23 11:53     ` Jonathan Cameron
2025-12-23 11:53       ` Jonathan Cameron via
2025-12-30 18:23       ` Davidlohr Bueso
2026-01-02 16:35         ` Jonathan Cameron
2026-01-02 16:35           ` Jonathan Cameron via
2025-12-16  6:53 ` Markus Armbruster
2025-12-16 15:24   ` Davidlohr Bueso
2025-12-17  7:51     ` Markus Armbruster
  -- strict thread matches above, loose matches on Subject: below --
2025-09-30  3:21 [PATCH v3 " Davidlohr Bueso
2025-09-30  3:21 ` [PATCH 3/5] hw/cxl: Allow BI by default in Window restrictions Davidlohr Bueso

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.