Re: [PATCH v9 13/13] cxl: Disable HPA/SPA translation handlers for Normalized Addressing

From: Robert Richter

Date: Wed Jan 14 2026 - 06:32:44 EST


On 13.01.26 19:59:05, Alison Schofield wrote:
> On Sat, Jan 10, 2026 at 12:46:58PM +0100, Robert Richter wrote:
> > The root decoder provides the callbacks hpa_to_spa and spa_to_hpa to
> > perform Host Physical Address (HPA) and System Physical Address
> > translations, respectively. The callbacks are required to convert
> > addresses when HPA != SPA. XOR interleaving depends on this mechanism,
> > and the necessary handlers are implemented.
> >
> > The translation handlers are used for poison injection
> > (trace_cxl_poison, cxl_poison_inject_fops) and error handling
> > (cxl_event_trace_record).
> >
> > In AMD Zen5 systems with Normalized Addressing, endpoint addresses are
> > not SPAs, and translation handlers are required for these features to
> > function correctly.
> >
> > Now, as ACPI PRM translation could be expensive in tracing or error
> > handling code paths, do not yet enable translations to avoid its
> > intensive use. Instead, disable those features which are used only for
> > debugging and enhanced logging.
> >
> > Introduce the flag CXL_REGION_F_NORM_ADDR that indicates Normalized
> > Addressing for a region and use it to disable poison injection and DPA
> > to HPA conversion.
> >
> > Note: Dropped unused CXL_DECODER_F_MASK macro.
>
> Reviewed-by: Alison Schofield <alison.schofield@xxxxxxxxx>
>
> So not for the commit log, but for my closure ;) -
>
> A system with normalized addressing:
>
> will still:
> support poison listings by memdev and by region
> support poison inject and clear by memdev
>
> they'll be different, in that:
> if a DPA address maps into a region, the region SPA mapping will
> always be ULLONG_MAX. The region name will still be available and
> valid. That same difference applies for General Media and DRAM events.
> (This is the 'enhanced logging' referred to in the commit log.)
>
> will not:
> support poison inject or clear by region.
> (This is the 'debugging' referred to in commit log.)
>

Good conclusion. :-) Thanks for review.

-Robert