NVDIMM Device and Persistent Memory development
 help / color / mirror / Atom feed
* [NDCTL PATCH v9 0/4] ndctl: Add support and test for CXL Features support
@ 2025-05-23 16:46 Dave Jiang
  2025-05-23 16:46 ` [NDCTL PATCH v9 1/4] cxl: Add cxl_bus_get_by_provider() Dave Jiang
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Dave Jiang @ 2025-05-23 16:46 UTC (permalink / raw)
  To: linux-cxl, nvdimm; +Cc: alison.schofield, Marc.Herbert, Dan Williams

v9:
- Move script body to main(). (Marc)
- Remove uuid dep for test module. (Marc)
- Remove removal of error trap. (Marc)

v8:
- Stash fwctl discovery functions behind ifdef (Alison)
- Deal with old compilers and __counted_by(). (Alison)

v7:
- Move enumeration of fwctl behind meson option 'fwctl'. (Dan)

v6:
- Rename cxl-features.control.c back to fwctl.c. (Dan)
- Move features behind a meson option. (Dan)
- See individual commits for specific changes from v5.

v5:
- Add documentation for exported symbols. (Alison)
- Create 'struct cxl_fwctl' as object under cxl_memdev. (Dan)
- Make command prep common code. (Alison)
- Rename fwctl.c to cxl-features-control.c. (Alison)
- See individual commits for specific changes from v4.

v4:
- Adjust to kernel changes of input/output structs
- Fixup skip/pass/fail logic
- Added new kernel headers detection and dependency in meson.build

v3:
- Update test to use opcode instead of command id.

v2:
- Drop features device enumeration
- Add discovery of char device under memdev

The series provides support of libcxl enumerating FWCTL character device
under the cxl_memdev device. It discovers the char device major
and minor numbers for the CXL features device in order to allow issuing
of ioctls to the device.

A unit test is added to locate cxl_memdev exported by the cxl_test
kernel module and issue all the supported ioctls to the associated
FWCTL char device to verify that all the ioctl paths are working as expected.

Kernel series: https://lore.kernel.org/linux-cxl/20250207233914.2375110-1-dave.jiang@intel.com/T/#t

Dave Jiang (4):
  cxl: Add cxl_bus_get_by_provider()
  cxl: Enumerate major/minor of FWCTL char device
  ndctl: Add features.h from kernel UAPI
  cxl/test: Add test for cxl features device

 Documentation/cxl/lib/libcxl.txt |  26 ++
 config.h.meson                   |   3 +
 cxl/fwctl/cxl.h                  |  56 ++++
 cxl/fwctl/features.h             | 187 +++++++++++++
 cxl/fwctl/fwctl.h                | 141 ++++++++++
 cxl/lib/libcxl.c                 |  94 +++++++
 cxl/lib/libcxl.sym               |   8 +
 cxl/lib/private.h                |   6 +
 cxl/libcxl.h                     |   7 +
 meson.build                      |   1 +
 meson_options.txt                |   2 +
 test/cxl-features.sh             |  37 +++
 test/fwctl.c                     | 439 +++++++++++++++++++++++++++++++
 test/meson.build                 |  18 ++
 14 files changed, 1025 insertions(+)
 create mode 100644 cxl/fwctl/cxl.h
 create mode 100644 cxl/fwctl/features.h
 create mode 100644 cxl/fwctl/fwctl.h
 create mode 100755 test/cxl-features.sh
 create mode 100644 test/fwctl.c


base-commit: 1850ddcbcbf9eebd343c6e87a2c55f3f5e3930c4
-- 
2.49.0


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

end of thread, other threads:[~2025-05-29 13:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-23 16:46 [NDCTL PATCH v9 0/4] ndctl: Add support and test for CXL Features support Dave Jiang
2025-05-23 16:46 ` [NDCTL PATCH v9 1/4] cxl: Add cxl_bus_get_by_provider() Dave Jiang
2025-05-23 16:46 ` [NDCTL PATCH v9 2/4] cxl: Enumerate major/minor of FWCTL char device Dave Jiang
2025-05-29 13:17   ` Jonathan Cameron
2025-05-23 16:46 ` [NDCTL PATCH v9 3/4] ndctl: Add features.h from kernel UAPI Dave Jiang
2025-05-23 16:46 ` [NDCTL PATCH v9 4/4] cxl/test: Add test for cxl features device Dave Jiang
2025-05-23 21:20   ` Marc Herbert
2025-05-28  1:36 ` [NDCTL PATCH v9 0/4] ndctl: Add support and test for CXL Features support Alison Schofield

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox