]> git.ipfire.org Git - thirdparty/linux.git/commit
cxl/test: Add cxl_translate module for address translation testing
authorAlison Schofield <alison.schofield@intel.com>
Tue, 14 Oct 2025 08:24:32 +0000 (01:24 -0700)
committerDave Jiang <dave.jiang@intel.com>
Mon, 3 Nov 2025 16:27:32 +0000 (09:27 -0700)
commit06377c54a133621d61fa76cdcea85077c5b958f4
treefc5f7547e04253831c5407ac294c026243e070e0
parent4fe516d2ad1a6b827694db134fa2a0af97917b41
cxl/test: Add cxl_translate module for address translation testing

Add a loadable test module that validates CXL address translation
calculations using parameterized test vectors. The module tests both
host-to-device and device-to-host address translations for Modulo and
XOR interleave arithmetic.

Two types of testing are provided:

1. Parameterized test vectors:
   Test vectors are passed as module parameters in the format:
"dpa pos r_eiw r_eig hb_ways math expected_spa".
   Round-trip validation is performed:
   - Translate a DPA and position to a SPA
   - Verify the result matches expected SPA
   - Translate that SPA back to a DPA and position
   - Verify round-trip consistency

2. Internal validation testing:
   When no test vectors are provided, the module performs validation
   of the translation functions by checking parameter boundaries and
   running 10,000 iterations of randomly generated valid parameters
   to exercise the core calculation functions.

The module uses the CXL Driver translation functions through symbols
exported exclusively for cxl_translate.

Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
tools/testing/cxl/test/Kbuild
tools/testing/cxl/test/cxl_translate.c [new file with mode: 0644]