Bug ID 1210172
Summary emulated CXL memory device is not seen in qemu/kvm guest
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component Virtualization:Other
Assignee virt-bugs@suse.de
Reporter vliaskovitis@suse.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

Created attachment 866151 [details]
guest xml with CXL controller/rootport/device added

Tumbleweed Guest: opensuse kernel 6.1.8
Tumbleweed Host: qemu-7.1.0-8.1.x86_64

Using simplest (first) CXL setup from:
https://www.qemu.org/docs/master/system/devices/cxl.html#example-command-lines

i.e. single host controller, single root port, one directly attached CXL Type 3
device.

The qemu arguments are added to libvirt xml manually. I am also attaching the
full libvirt xml for this domain.

Result: No CXL mem devices are seen in the guest
Expected result: One device is expected to be seen

cxl list -M
  Warning: no matching devices found

[
]


Guest kernel booted with Booted with acpi.debug_layer=0xf
acpi.debug_level=0xffff

dmesg | grep -i cxl

[    0.184343]    uteval-0063 ut_evaluate_object    : [CXLM._UID] was not found
[    0.184345]    uteval-0063 ut_evaluate_object    : [CXLM._CID] was not found
[    0.184347]    uteval-0063 ut_evaluate_object    : [CXLM._CLS] was not found
[    0.184349]    uteval-0063 ut_evaluate_object    : [CXLM._ADR] was not found
[    0.184351]    uteval-0063 ut_evaluate_object    : [CXLM._S0W] was not found
[    0.184353]    uteval-0063 ut_evaluate_object    : [CXLM._S1W] was not found
[    0.184354]    uteval-0063 ut_evaluate_object    : [CXLM._S2W] was not found
[    0.184358]    uteval-0063 ut_evaluate_object    : [CXLM._S3W] was not found
[    0.184360]    uteval-0063 ut_evaluate_object    : [CXLM._S4W] was not found
[    0.184362]    uteval-0063 ut_evaluate_object    : [CXLM._S1D] was not found
[    0.184363]    uteval-0063 ut_evaluate_object    : [CXLM._S2D] was not found
[    0.184365]    uteval-0063 ut_evaluate_object    : [CXLM._S3D] was not found
[    0.184367]    uteval-0063 ut_evaluate_object    : [CXLM._S4D] was not found
[    0.416804] acpi ACPI0016:00: _OSC: OS supports [CXL11PortRegAccess
CXL20PortDevRegAccess CXLProtocolErrorReporting CXLNativeHot]
[    0.416995] acpi ACPI0016:00: _OSC: OS now controls [CXLMemErrorReporting]
[    0.894536]    uteval-0063 ut_evaluate_object    : [CXLM._CID] was not found
[   33.648449] cxl_acpi: probe of ACPI0017:00 failed with error -22

-22 is EINVAL. It is likely that the missing ACPI object/method:
[CXLM._CID] was not found
is causing the error.

cat /boot/config-6.2.9-1-default  | grep -i CXL

CONFIG_CXL_BUS=m
CONFIG_CXL_PCI=m
# CONFIG_CXL_MEM_RAW_COMMANDS is not set
CONFIG_CXL_ACPI=m
CONFIG_CXL_PMEM=m
CONFIG_CXL_MEM=m
CONFIG_CXL_PORT=m
CONFIG_CXL_SUSPEND=y
CONFIG_CXL_REGION=y
# CONFIG_CXL_REGION_INVALIDATION_TEST is not set

This is likely a qemu issue or a guest kernel issue.

I have not yet found an obviously missing patch (in qemu or kernel) regarding
the ACPI CXLM._CID object. 

If someone can reproduce the issue, or conversely succeed in seeing the
emulated CXL mem device, please share.


You are receiving this mail because: