Gregory Price wrote: > On Thu, Jul 17, 2025 at 04:14:13PM +0200, Fabio M. De Francesco wrote: > > The table above shows a real configuration copied from an x86 platform > > where the Low Memory Hole (LMH) starts at 2GB. > > > > The"HDM Decoder Base/Size" refers specifically to the CXL Endpoint > > Decoders HPA range Base/Size. The first row of the table describes the > > first window (CFMWS[0]), whose HPA rage base/size is 0/2GB, and the > > Endpoint Decoder that the CXL driver should match with that CFMWS, > > whose HPA range base/size is 0/3GB. > > The only thing i ask is being more precise with decoder references. > > HDM Decoder can refer to any of: root, switch, hb, or endpoint decoders. > > Below you make this distinct in the explanation, but in the table it's > simply general "HDM Decoder". All I ask is for a bit more clarity on > what decoder will contain what values to avoid further ambiguity. > > > The driver expects that the Endpoint Decoders HPA ranges to be contained > > into their corresponding Root Decoders. Furthermore, Linux fails to > > attach Endpoint decoders to already constructed CXL Regions because of > > the same size discrepancy issue. > > > > > > I think you need to describe what the expected behavior is for what linux > > > will produce in terms of the decoder objects given the above. > > > > > The expected behavior is that Linux should be able to match the Endpoint > > Decoder with the Root Decoder range even if the CFMWS size is smaller > > than the Decoder's, as long as the latter adheres to the 256MB * interleave > > ways rule. Furthermore, Linux should be able to match the Endpoint decoders > > with already constructed CXL Regions and allow the attachment process to > > succeed. > > > > You may also need to describe more than just the contents of the > endpoint decoder. What would the content of any intermediate decoders > be (matching the root or matching the endpoint?). I wonder if the explanation is lacking intermediate decoders because the test system does not have them? Is this true Fabio? Regardless I think Gregory is correct here. We should try and document the general case. Ira > > > If this explanation suffices, I will incorporate it into the next version > > of this patch and also explain that "HDM Decoder" stands for Endpoint Decoder > > and that the CFMWS HPA base/size describes the System Physical Address (SPA) > > which the CXL driver uses to make Root Decoders HPA range base/size. > > > > This explanation is better, just need a few more bits of data and I > think you're good to go. > > ~Gregory