qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -qemu 0/4] hw/cxl: Support Back-Invalidate
@ 2025-08-06  5:57 Davidlohr Bueso
  2025-08-06  5:57 ` [PATCH 1/4] hw/pcie: Support enabling flit mode Davidlohr Bueso
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Davidlohr Bueso @ 2025-08-06  5:57 UTC (permalink / raw)
  To: jonathan.cameron
  Cc: ira.weiny, alucerop, a.manzanares, linux-cxl, qemu-devel,
	Davidlohr Bueso

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 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.

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!

[0] https://lore.kernel.org/linux-cxl/20230517-rfc-type2-dev-v1-0-6eb2e470981b@intel.com/

Davidlohr Bueso (3):
  hw/pcie: Support enabling flit mode
  hw/cxl: Allow BI by default in Window restrictions
  hw/cxl: Support Type3 HDM-DB

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

 docs/system/devices/cxl.rst               |  26 +++
 hw/core/qdev-properties-system.c          |  11 ++
 hw/cxl/cxl-component-utils.c              | 206 ++++++++++++++++------
 hw/cxl/cxl-host.c                         |   2 +-
 hw/mem/cxl_type3.c                        |  13 +-
 hw/pci-bridge/cxl_downstream.c            |   1 +
 hw/pci-bridge/cxl_root_port.c             |   1 +
 hw/pci-bridge/cxl_upstream.c              |   3 +-
 hw/pci-bridge/gen_pcie_root_port.c        |   1 +
 hw/pci/pcie.c                             |  13 +-
 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 +
 include/hw/qdev-properties-system.h       |   3 +
 qapi/common.json                          |  14 ++
 qapi/machine.json                         |   3 +-
 qemu-options.hx                           |   4 +-
 19 files changed, 317 insertions(+), 79 deletions(-)

--
2.39.5



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [PATCH v2 -qemu 0/4] hw/cxl: Support Back-Invalidate
@ 2025-08-11  3:34 Davidlohr Bueso
  2025-08-11  3:34 ` [PATCH 1/4] hw/pcie: Support enabling flit mode Davidlohr Bueso
  0 siblings, 1 reply; 14+ messages in thread
From: Davidlohr Bueso @ 2025-08-11  3:34 UTC (permalink / raw)
  To: jonathan.cameron
  Cc: ira.weiny, alucerop, a.manzanares, linux-cxl, qemu-devel,
	Davidlohr Bueso

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 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.

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 (3):
  hw/pcie: Support enabling flit mode
  hw/cxl: Allow BI by default in Window restrictions
  hw/cxl: Support type3 HDM-DB

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

 docs/system/devices/cxl.rst               |  23 +++
 hw/cxl/cxl-component-utils.c              | 206 ++++++++++++++++------
 hw/cxl/cxl-host.c                         |   2 +-
 hw/mem/cxl_type3.c                        |  23 ++-
 hw/pci-bridge/cxl_downstream.c            |  11 +-
 hw/pci-bridge/cxl_root_port.c             |  11 +-
 hw/pci-bridge/cxl_upstream.c              |  19 +-
 hw/pci-bridge/gen_pcie_root_port.c        |   1 +
 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 +-
 16 files changed, 322 insertions(+), 99 deletions(-)

-- 
2.39.5



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

end of thread, other threads:[~2025-08-11 16:59 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-06  5:57 [PATCH -qemu 0/4] hw/cxl: Support Back-Invalidate Davidlohr Bueso
2025-08-06  5:57 ` [PATCH 1/4] hw/pcie: Support enabling flit mode Davidlohr Bueso
2025-08-08 15:42   ` Jonathan Cameron via
2025-08-08 17:45     ` Davidlohr Bueso
2025-08-08 18:18     ` Markus Armbruster
2025-08-08 16:02   ` Jonathan Cameron via
2025-08-06  5:57 ` [PATCH 2/4] hw/cxl: Refactor component register initialization Davidlohr Bueso
2025-08-06  5:57 ` [PATCH 3/4] hw/cxl: Allow BI by default in Window restrictions Davidlohr Bueso
2025-08-07  0:06   ` Davidlohr Bueso
2025-08-08 15:47   ` Jonathan Cameron via
2025-08-06  5:57 ` [PATCH 4/4] hw/cxl: Support Type3 HDM-DB Davidlohr Bueso
  -- strict thread matches above, loose matches on Subject: below --
2025-08-11  3:34 [PATCH v2 -qemu 0/4] hw/cxl: Support Back-Invalidate Davidlohr Bueso
2025-08-11  3:34 ` [PATCH 1/4] hw/pcie: Support enabling flit mode Davidlohr Bueso
2025-08-11 15:57   ` Jonathan Cameron via
2025-08-11 16:57     ` Michael S. Tsirkin

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).