From: Alison Schofield <alison.schofield@intel.com>
To: Davidlohr Bueso <dave@stgolabs.net>,
Jonathan Cameron <jonathan.cameron@huawei.com>,
Dave Jiang <dave.jiang@intel.com>,
Alison Schofield <alison.schofield@intel.com>,
Vishal Verma <vishal.l.verma@intel.com>,
Ira Weiny <ira.weiny@intel.com>,
Dan Williams <dan.j.williams@intel.com>
Cc: linux-cxl@vger.kernel.org
Subject: [PATCH v4 0/3] CXL: Add a loadable module for address translation
Date: Tue, 14 Oct 2025 01:24:29 -0700 [thread overview]
Message-ID: <cover.1760429439.git.alison.schofield@intel.com> (raw)
Changes in v4:
- Rebase on 6.18-rc1
- Sync to a rename: EXPORT_SYMBOL_FOR_MODULES per a 6.18-rc1 patch
Changes in v3:
- Rebase on latest cxl/next
This set is posted for review based on cxl/next because it depends on
SPA->DPA translation work only in cxl/next (the poison by region offset
set). When cxl/next becomes v6.18-rc1, I'll rebase and resend.
- Replace __mock_exports with EXPORT_SYMBOL_GPL_FOR_MODULES()
- Replace (u64)GENMASK() w GENMASK_ULL() (DaveJ)
- Refactor cxled lookup in cxl_dpa_to_hpa() (DaveJ)
- Move struct cxl_cxims_data to cxl.h (DaveJ)
Below is new functionality in v3:
- Add and EXPORT cxl_validate_translation_parameter().
This consolidates param validation in region.c and exporting it enables
testing.
- Add a test of cxl_validate_translation_parameter() to test module.
- Add a random test of the exported CXL Driver translation functions.
Changes in v2:
- Rebase on cxl/next
This set has dependencies on patches only in cxl/next.
- Make the new helpers static by default, exportable for tests (Dan)
- Restore useful dev_dbg() message for invalid position (Jonathan)
- Create and free cxims data struct in test module (Dan)
- Make some test module comments kdoc's (Jonathan)
- Move a block comment to new helper (Jonathan)
- Remove useless check for ULLONG_MAX (Jonathan)
This series refactors CXL address translation code to support testing
and adds a dedicated test module for validation of the translation
calculations.
The work is presented in 3 patches:
1. Extracts the core translation logic into standalone, testable functions.
2. Provides access to XOR interleave calculations also with a standalone
testable function.
3. Adds the test module that validates both Host to Device, and Device
to Host address translations.
The CXL Driver functions are made available to the test module using
EXPORT_SYMBOL_FOR_MODULES() for cxl_translate only.
The companion CXL Unit Test script is posted separately.
Alison Schofield (3):
cxl/region: Refactor address translation funcs for testing
cxl/acpi: Make the XOR calculations available for testing
cxl/test: Add cxl_translate module for address translation testing
drivers/cxl/acpi.c | 41 ++-
drivers/cxl/core/region.c | 204 ++++++++----
drivers/cxl/cxl.h | 19 ++
tools/testing/cxl/test/Kbuild | 1 +
tools/testing/cxl/test/cxl_translate.c | 445 +++++++++++++++++++++++++
5 files changed, 638 insertions(+), 72 deletions(-)
create mode 100644 tools/testing/cxl/test/cxl_translate.c
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
--
2.37.3
next reply other threads:[~2025-10-14 8:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-14 8:24 Alison Schofield [this message]
2025-10-14 8:24 ` [PATCH v4 1/3] cxl/region: Refactor address translation funcs for testing Alison Schofield
2025-10-14 8:24 ` [PATCH v4 2/3] cxl/acpi: Make the XOR calculations available " Alison Schofield
2025-10-14 8:24 ` [PATCH v4 3/3] cxl/test: Add cxl_translate module for address translation testing Alison Schofield
2025-11-03 23:47 ` [PATCH v4 0/3] CXL: Add a loadable module for address translation Dave Jiang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1760429439.git.alison.schofield@intel.com \
--to=alison.schofield@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=ira.weiny@intel.com \
--cc=jonathan.cameron@huawei.com \
--cc=linux-cxl@vger.kernel.org \
--cc=vishal.l.verma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox