Linux CXL
 help / color / mirror / Atom feed
* Re: A confusion about cxl.mem in CXL drivers
@ 2023-10-08  6:50 Yuquan Wang
  2023-10-09 15:37 ` Jonathan Cameron
  0 siblings, 1 reply; 4+ messages in thread
From: Yuquan Wang @ 2023-10-08  6:50 UTC (permalink / raw)
  To: Jonathan.Cameron, dan.j.williams; +Cc: linux-cxl

Sorry for resending this mail as I still confused about it.

On 2023-09-20 20:19,  jonathan.cameron wrote:

Thanks for your patient explanation.

>
> So from driver side of things, the CXL.IO stuff is either in ECAM (for config
> space) or mapped as PCIe BARs.  The CXL.mem stuff is mapped via the Host Physical
> Addresses described in a CXL Fixed Memory Window.
> 
> So the right type of access is used based on the underlying hardware performing
> the routing for the appropriate Host Physical Address range.  Same applies
> on top of QEMU.
> 

Therefore, from the view of kernel side, the kernel do not need to distinguish the physical cxl subprotocol
(cxl.io,cxl.cache,cxl.mem). In fact, the underlying hardware would directly finish this work so system software
don't care about it.

According to the instance of qemu virt machine, my understanding is below:
1) CXL.IO: finding, setting and enumerating CXL ECAM/BARs (programmed in cxl_acpi, cxl_pci drivers)
    Underlying hardware performing the routing : PCIe RC
    
2) CXL.MEM: host is going to access the memory mapped in CFMWs 
    Underlying hardware performing the routing : HDM decoders

Many thanks
Yuquan


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

end of thread, other threads:[~2023-10-09 15:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <2023082215220191352877@phytium.com.cn>
     [not found] ` <2023092018244461102314@phytium.com.cn>
2023-09-20 12:19   ` A confusion about cxl.mem in CXL drivers Jonathan Cameron
2023-09-22  8:49     ` Yuquan Wang
2023-10-08  6:50 Yuquan Wang
2023-10-09 15:37 ` Jonathan Cameron

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