All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: CXL Namespaces of ACPI disappearing in Qemu demo
@ 2023-08-22  7:22 Yuquan Wang
  2023-08-23 19:44 ` Gregory Price
       [not found] ` <2023092018244461102314@phytium.com.cn>
  0 siblings, 2 replies; 17+ messages in thread
From: Yuquan Wang @ 2023-08-22  7:22 UTC (permalink / raw)
  To: gregory.price@memverge.com; +Cc: qemu-arm, jonathan.cameron

[-- Attachment #1: Type: text/plain, Size: 823 bytes --]

Hi, Gregory
I am sorry to disturb you, but there was still an ignored problem about CXL, 
Although I had sent an email to jonathan (maybe he is busy recently so he forgot to reply),  
the Link is : https://lists.nongnu.org/archive/html/qemu-arm/2023-08/msg00278.html 

Maybe the core question is that how should we use CXL components with a standard PCIe system:
1) In Qemu, since the boards or machines in qemu can only use pxb-cxl (attached on pcie.0) to add
cxl host bridge, therefore, users should avoid to assign an occupied bus number by other devices
to pxb-cxl.

2) In real hardware, CXL components should use independent CXL root/tree (ACPI0017&ACPI0016)
to separate from the namespace of default pcie root/domain.

I would be grateful if you have some free time to help check this issue : )




[-- Attachment #2: Type: text/html, Size: 3050 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread
* 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; 17+ 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] 17+ messages in thread

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

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-22  7:22 CXL Namespaces of ACPI disappearing in Qemu demo Yuquan Wang
2023-08-23 19:44 ` Gregory Price
2023-08-24  1:11   ` Yuquan Wang
2023-08-24  9:06   ` Jonathan Cameron via
2023-09-04 10:27     ` Yuquan Wang
2023-09-04 12:43       ` Jonathan Cameron via
2023-09-04 12:43         ` Jonathan Cameron via
2023-09-05 10:45         ` Yuquan Wang
2023-09-05 14:34           ` Jonathan Cameron via
2023-09-05 14:34             ` Jonathan Cameron via
2023-09-06 11:22             ` Yuquan Wang
2023-09-07 10:58               ` Jonathan Cameron via
2023-09-07 10:58                 ` Jonathan Cameron via
     [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
  -- strict thread matches above, loose matches on Subject: below --
2023-10-08  6:50 Yuquan Wang
2023-10-09 15:37 ` Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.