xref: /linux/Documentation/ABI/testing/sysfs-bus-cxl (revision cf1f6877b088cd9ddeb5f3db8ade3a61e3a3f9eb)
1b39cb105SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/firmware_version
2b39cb105SDan WilliamsDate:		December, 2020
3b39cb105SDan WilliamsKernelVersion:	v5.12
4b39cb105SDan WilliamsContact:	linux-cxl@vger.kernel.org
5b39cb105SDan WilliamsDescription:
6b39cb105SDan Williams		(RO) "FW Revision" string as reported by the Identify
7b39cb105SDan Williams		Memory Device Output Payload in the CXL-2.0
8b39cb105SDan Williams		specification.
9b39cb105SDan Williams
10b39cb105SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/ram/size
11b39cb105SDan WilliamsDate:		December, 2020
12b39cb105SDan WilliamsKernelVersion:	v5.12
13b39cb105SDan WilliamsContact:	linux-cxl@vger.kernel.org
14b39cb105SDan WilliamsDescription:
15b39cb105SDan Williams		(RO) "Volatile Only Capacity" as bytes. Represents the
16b39cb105SDan Williams		identically named field in the Identify Memory Device Output
17b39cb105SDan Williams		Payload in the CXL-2.0 specification.
18b39cb105SDan Williams
19b39cb105SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/pmem/size
20b39cb105SDan WilliamsDate:		December, 2020
21b39cb105SDan WilliamsKernelVersion:	v5.12
22b39cb105SDan WilliamsContact:	linux-cxl@vger.kernel.org
23b39cb105SDan WilliamsDescription:
24b39cb105SDan Williams		(RO) "Persistent Only Capacity" as bytes. Represents the
25b39cb105SDan Williams		identically named field in the Identify Memory Device Output
26b39cb105SDan Williams		Payload in the CXL-2.0 specification.
274812be97SDan Williams
28bcc79ea3SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/serial
29bcc79ea3SDan WilliamsDate:		January, 2022
30bcc79ea3SDan WilliamsKernelVersion:	v5.18
31bcc79ea3SDan WilliamsContact:	linux-cxl@vger.kernel.org
32bcc79ea3SDan WilliamsDescription:
33bcc79ea3SDan Williams		(RO) 64-bit serial number per the PCIe Device Serial Number
34bcc79ea3SDan Williams		capability. Mandatory for CXL devices, see CXL 2.0 8.1.12.2
35bcc79ea3SDan Williams		Memory Device PCIe Capabilities and Extended Capabilities.
36bcc79ea3SDan Williams
37*cf1f6877SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/numa_node
38*cf1f6877SDan WilliamsDate:		January, 2022
39*cf1f6877SDan WilliamsKernelVersion:	v5.18
40*cf1f6877SDan WilliamsContact:	linux-cxl@vger.kernel.org
41*cf1f6877SDan WilliamsDescription:
42*cf1f6877SDan Williams		(RO) If NUMA is enabled and the platform has affinitized the
43*cf1f6877SDan Williams		host PCI device for this memory device, emit the CPU node
44*cf1f6877SDan Williams		affinity for this device.
45*cf1f6877SDan Williams
464812be97SDan WilliamsWhat:		/sys/bus/cxl/devices/*/devtype
474812be97SDan WilliamsDate:		June, 2021
484812be97SDan WilliamsKernelVersion:	v5.14
494812be97SDan WilliamsContact:	linux-cxl@vger.kernel.org
504812be97SDan WilliamsDescription:
514812be97SDan Williams		CXL device objects export the devtype attribute which mirrors
524812be97SDan Williams		the same value communicated in the DEVTYPE environment variable
534812be97SDan Williams		for uevents for devices on the "cxl" bus.
544812be97SDan Williams
5583fbdbe4SDan WilliamsWhat:		/sys/bus/cxl/devices/*/modalias
5683fbdbe4SDan WilliamsDate:		December, 2021
5783fbdbe4SDan WilliamsKernelVersion:	v5.18
5883fbdbe4SDan WilliamsContact:	linux-cxl@vger.kernel.org
5983fbdbe4SDan WilliamsDescription:
6083fbdbe4SDan Williams		CXL device objects export the modalias attribute which mirrors
6183fbdbe4SDan Williams		the same value communicated in the MODALIAS environment variable
6283fbdbe4SDan Williams		for uevents for devices on the "cxl" bus.
6383fbdbe4SDan Williams
644812be97SDan WilliamsWhat:		/sys/bus/cxl/devices/portX/uport
654812be97SDan WilliamsDate:		June, 2021
664812be97SDan WilliamsKernelVersion:	v5.14
674812be97SDan WilliamsContact:	linux-cxl@vger.kernel.org
684812be97SDan WilliamsDescription:
694812be97SDan Williams		CXL port objects are enumerated from either a platform firmware
704812be97SDan Williams		device (ACPI0017 and ACPI0016) or PCIe switch upstream port with
714812be97SDan Williams		CXL component registers. The 'uport' symlink connects the CXL
724812be97SDan Williams		portX object to the device that published the CXL port
734812be97SDan Williams		capability.
747d4b5ca2SDan Williams
757d4b5ca2SDan WilliamsWhat:		/sys/bus/cxl/devices/portX/dportY
767d4b5ca2SDan WilliamsDate:		June, 2021
777d4b5ca2SDan WilliamsKernelVersion:	v5.14
787d4b5ca2SDan WilliamsContact:	linux-cxl@vger.kernel.org
797d4b5ca2SDan WilliamsDescription:
807d4b5ca2SDan Williams		CXL port objects are enumerated from either a platform firmware
817d4b5ca2SDan Williams		device (ACPI0017 and ACPI0016) or PCIe switch upstream port with
827d4b5ca2SDan Williams		CXL component registers. The 'dportY' symlink identifies one or
837d4b5ca2SDan Williams		more downstream ports that the upstream port may target in its
847d4b5ca2SDan Williams		decode of CXL memory resources.  The 'Y' integer reflects the
857d4b5ca2SDan Williams		hardware port unique-id used in the hardware decoder target
867d4b5ca2SDan Williams		list.
8740ba17afSDan Williams
8840ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y
8940ba17afSDan WilliamsDate:		June, 2021
9040ba17afSDan WilliamsKernelVersion:	v5.14
9140ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
9240ba17afSDan WilliamsDescription:
9340ba17afSDan Williams		CXL decoder objects are enumerated from either a platform
9440ba17afSDan Williams		firmware description, or a CXL HDM decoder register set in a
9540ba17afSDan Williams		PCIe device (see CXL 2.0 section 8.2.5.12 CXL HDM Decoder
9640ba17afSDan Williams		Capability Structure). The 'X' in decoderX.Y represents the
9740ba17afSDan Williams		cxl_port container of this decoder, and 'Y' represents the
9840ba17afSDan Williams		instance id of a given decoder resource.
9940ba17afSDan Williams
10040ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/{start,size}
10140ba17afSDan WilliamsDate:		June, 2021
10240ba17afSDan WilliamsKernelVersion:	v5.14
10340ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
10440ba17afSDan WilliamsDescription:
10540ba17afSDan Williams		The 'start' and 'size' attributes together convey the physical
10640ba17afSDan Williams		address base and number of bytes mapped in the decoder's decode
10740ba17afSDan Williams		window. For decoders of devtype "cxl_decoder_root" the address
10840ba17afSDan Williams		range is fixed. For decoders of devtype "cxl_decoder_switch" the
10940ba17afSDan Williams		address is bounded by the decode range of the cxl_port ancestor
11040ba17afSDan Williams		of the decoder's cxl_port, and dynamically updates based on the
11140ba17afSDan Williams		active memory regions in that address space.
11240ba17afSDan Williams
11340ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/locked
11440ba17afSDan WilliamsDate:		June, 2021
11540ba17afSDan WilliamsKernelVersion:	v5.14
11640ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
11740ba17afSDan WilliamsDescription:
11840ba17afSDan Williams		CXL HDM decoders have the capability to lock the configuration
11940ba17afSDan Williams		until the next device reset. For decoders of devtype
12040ba17afSDan Williams		"cxl_decoder_root" there is no standard facility to unlock them.
12140ba17afSDan Williams		For decoders of devtype "cxl_decoder_switch" a secondary bus
12240ba17afSDan Williams		reset, of the PCIe bridge that provides the bus for this
12340ba17afSDan Williams		decoders uport, unlocks / resets the decoder.
12440ba17afSDan Williams
12540ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/target_list
12640ba17afSDan WilliamsDate:		June, 2021
12740ba17afSDan WilliamsKernelVersion:	v5.14
12840ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
12940ba17afSDan WilliamsDescription:
13040ba17afSDan Williams		Display a comma separated list of the current decoder target
13140ba17afSDan Williams		configuration. The list is ordered by the current configured
13240ba17afSDan Williams		interleave order of the decoder's dport instances. Each entry in
13340ba17afSDan Williams		the list is a dport id.
13440ba17afSDan Williams
13540ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/cap_{pmem,ram,type2,type3}
13640ba17afSDan WilliamsDate:		June, 2021
13740ba17afSDan WilliamsKernelVersion:	v5.14
13840ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
13940ba17afSDan WilliamsDescription:
14040ba17afSDan Williams		When a CXL decoder is of devtype "cxl_decoder_root", it
14140ba17afSDan Williams		represents a fixed memory window identified by platform
14240ba17afSDan Williams		firmware. A fixed window may only support a subset of memory
14340ba17afSDan Williams		types. The 'cap_*' attributes indicate whether persistent
14440ba17afSDan Williams		memory, volatile memory, accelerator memory, and / or expander
14540ba17afSDan Williams		memory may be mapped behind this decoder's memory window.
14640ba17afSDan Williams
14740ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/target_type
14840ba17afSDan WilliamsDate:		June, 2021
14940ba17afSDan WilliamsKernelVersion:	v5.14
15040ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
15140ba17afSDan WilliamsDescription:
15240ba17afSDan Williams		When a CXL decoder is of devtype "cxl_decoder_switch", it can
15340ba17afSDan Williams		optionally decode either accelerator memory (type-2) or expander
15440ba17afSDan Williams		memory (type-3). The 'target_type' attribute indicates the
15540ba17afSDan Williams		current setting which may dynamically change based on what
15640ba17afSDan Williams		memory regions are activated in this decode hierarchy.
157