xref: /linux/Documentation/ABI/testing/sysfs-bus-cxl (revision 8dd2bc0f8e02d39bd80851ca787bcbdb7d495e69)
1*8dd2bc0fSBen WidawskyWhat:		/sys/bus/cxl/flush
2*8dd2bc0fSBen WidawskyDate:		Januarry, 2022
3*8dd2bc0fSBen WidawskyKernelVersion:	v5.18
4*8dd2bc0fSBen WidawskyContact:	linux-cxl@vger.kernel.org
5*8dd2bc0fSBen WidawskyDescription:
6*8dd2bc0fSBen Widawsky		(WO) If userspace manually unbinds a port the kernel schedules
7*8dd2bc0fSBen Widawsky		all descendant memdevs for unbind. Writing '1' to this attribute
8*8dd2bc0fSBen Widawsky		flushes that work.
9*8dd2bc0fSBen Widawsky
10b39cb105SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/firmware_version
11b39cb105SDan WilliamsDate:		December, 2020
12b39cb105SDan WilliamsKernelVersion:	v5.12
13b39cb105SDan WilliamsContact:	linux-cxl@vger.kernel.org
14b39cb105SDan WilliamsDescription:
15b39cb105SDan Williams		(RO) "FW Revision" string as reported by the Identify
16b39cb105SDan Williams		Memory Device Output Payload in the CXL-2.0
17b39cb105SDan Williams		specification.
18b39cb105SDan Williams
19b39cb105SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/ram/size
20b39cb105SDan WilliamsDate:		December, 2020
21b39cb105SDan WilliamsKernelVersion:	v5.12
22b39cb105SDan WilliamsContact:	linux-cxl@vger.kernel.org
23b39cb105SDan WilliamsDescription:
24b39cb105SDan Williams		(RO) "Volatile 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.
27b39cb105SDan Williams
28b39cb105SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/pmem/size
29b39cb105SDan WilliamsDate:		December, 2020
30b39cb105SDan WilliamsKernelVersion:	v5.12
31b39cb105SDan WilliamsContact:	linux-cxl@vger.kernel.org
32b39cb105SDan WilliamsDescription:
33b39cb105SDan Williams		(RO) "Persistent Only Capacity" as bytes. Represents the
34b39cb105SDan Williams		identically named field in the Identify Memory Device Output
35b39cb105SDan Williams		Payload in the CXL-2.0 specification.
364812be97SDan Williams
37bcc79ea3SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/serial
38bcc79ea3SDan WilliamsDate:		January, 2022
39bcc79ea3SDan WilliamsKernelVersion:	v5.18
40bcc79ea3SDan WilliamsContact:	linux-cxl@vger.kernel.org
41bcc79ea3SDan WilliamsDescription:
42bcc79ea3SDan Williams		(RO) 64-bit serial number per the PCIe Device Serial Number
43bcc79ea3SDan Williams		capability. Mandatory for CXL devices, see CXL 2.0 8.1.12.2
44bcc79ea3SDan Williams		Memory Device PCIe Capabilities and Extended Capabilities.
45bcc79ea3SDan Williams
46cf1f6877SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/numa_node
47cf1f6877SDan WilliamsDate:		January, 2022
48cf1f6877SDan WilliamsKernelVersion:	v5.18
49cf1f6877SDan WilliamsContact:	linux-cxl@vger.kernel.org
50cf1f6877SDan WilliamsDescription:
51cf1f6877SDan Williams		(RO) If NUMA is enabled and the platform has affinitized the
52cf1f6877SDan Williams		host PCI device for this memory device, emit the CPU node
53cf1f6877SDan Williams		affinity for this device.
54cf1f6877SDan Williams
554812be97SDan WilliamsWhat:		/sys/bus/cxl/devices/*/devtype
564812be97SDan WilliamsDate:		June, 2021
574812be97SDan WilliamsKernelVersion:	v5.14
584812be97SDan WilliamsContact:	linux-cxl@vger.kernel.org
594812be97SDan WilliamsDescription:
604812be97SDan Williams		CXL device objects export the devtype attribute which mirrors
614812be97SDan Williams		the same value communicated in the DEVTYPE environment variable
624812be97SDan Williams		for uevents for devices on the "cxl" bus.
634812be97SDan Williams
6483fbdbe4SDan WilliamsWhat:		/sys/bus/cxl/devices/*/modalias
6583fbdbe4SDan WilliamsDate:		December, 2021
6683fbdbe4SDan WilliamsKernelVersion:	v5.18
6783fbdbe4SDan WilliamsContact:	linux-cxl@vger.kernel.org
6883fbdbe4SDan WilliamsDescription:
6983fbdbe4SDan Williams		CXL device objects export the modalias attribute which mirrors
7083fbdbe4SDan Williams		the same value communicated in the MODALIAS environment variable
7183fbdbe4SDan Williams		for uevents for devices on the "cxl" bus.
7283fbdbe4SDan Williams
734812be97SDan WilliamsWhat:		/sys/bus/cxl/devices/portX/uport
744812be97SDan WilliamsDate:		June, 2021
754812be97SDan WilliamsKernelVersion:	v5.14
764812be97SDan WilliamsContact:	linux-cxl@vger.kernel.org
774812be97SDan WilliamsDescription:
784812be97SDan Williams		CXL port objects are enumerated from either a platform firmware
794812be97SDan Williams		device (ACPI0017 and ACPI0016) or PCIe switch upstream port with
804812be97SDan Williams		CXL component registers. The 'uport' symlink connects the CXL
814812be97SDan Williams		portX object to the device that published the CXL port
824812be97SDan Williams		capability.
837d4b5ca2SDan Williams
847d4b5ca2SDan WilliamsWhat:		/sys/bus/cxl/devices/portX/dportY
857d4b5ca2SDan WilliamsDate:		June, 2021
867d4b5ca2SDan WilliamsKernelVersion:	v5.14
877d4b5ca2SDan WilliamsContact:	linux-cxl@vger.kernel.org
887d4b5ca2SDan WilliamsDescription:
897d4b5ca2SDan Williams		CXL port objects are enumerated from either a platform firmware
907d4b5ca2SDan Williams		device (ACPI0017 and ACPI0016) or PCIe switch upstream port with
917d4b5ca2SDan Williams		CXL component registers. The 'dportY' symlink identifies one or
927d4b5ca2SDan Williams		more downstream ports that the upstream port may target in its
937d4b5ca2SDan Williams		decode of CXL memory resources.  The 'Y' integer reflects the
947d4b5ca2SDan Williams		hardware port unique-id used in the hardware decoder target
957d4b5ca2SDan Williams		list.
9640ba17afSDan Williams
9740ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y
9840ba17afSDan WilliamsDate:		June, 2021
9940ba17afSDan WilliamsKernelVersion:	v5.14
10040ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
10140ba17afSDan WilliamsDescription:
10240ba17afSDan Williams		CXL decoder objects are enumerated from either a platform
10340ba17afSDan Williams		firmware description, or a CXL HDM decoder register set in a
10440ba17afSDan Williams		PCIe device (see CXL 2.0 section 8.2.5.12 CXL HDM Decoder
10540ba17afSDan Williams		Capability Structure). The 'X' in decoderX.Y represents the
10640ba17afSDan Williams		cxl_port container of this decoder, and 'Y' represents the
10740ba17afSDan Williams		instance id of a given decoder resource.
10840ba17afSDan Williams
10940ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/{start,size}
11040ba17afSDan WilliamsDate:		June, 2021
11140ba17afSDan WilliamsKernelVersion:	v5.14
11240ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
11340ba17afSDan WilliamsDescription:
11440ba17afSDan Williams		The 'start' and 'size' attributes together convey the physical
11540ba17afSDan Williams		address base and number of bytes mapped in the decoder's decode
11640ba17afSDan Williams		window. For decoders of devtype "cxl_decoder_root" the address
11740ba17afSDan Williams		range is fixed. For decoders of devtype "cxl_decoder_switch" the
11840ba17afSDan Williams		address is bounded by the decode range of the cxl_port ancestor
11940ba17afSDan Williams		of the decoder's cxl_port, and dynamically updates based on the
12040ba17afSDan Williams		active memory regions in that address space.
12140ba17afSDan Williams
12240ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/locked
12340ba17afSDan WilliamsDate:		June, 2021
12440ba17afSDan WilliamsKernelVersion:	v5.14
12540ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
12640ba17afSDan WilliamsDescription:
12740ba17afSDan Williams		CXL HDM decoders have the capability to lock the configuration
12840ba17afSDan Williams		until the next device reset. For decoders of devtype
12940ba17afSDan Williams		"cxl_decoder_root" there is no standard facility to unlock them.
13040ba17afSDan Williams		For decoders of devtype "cxl_decoder_switch" a secondary bus
13140ba17afSDan Williams		reset, of the PCIe bridge that provides the bus for this
13240ba17afSDan Williams		decoders uport, unlocks / resets the decoder.
13340ba17afSDan Williams
13440ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/target_list
13540ba17afSDan WilliamsDate:		June, 2021
13640ba17afSDan WilliamsKernelVersion:	v5.14
13740ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
13840ba17afSDan WilliamsDescription:
13940ba17afSDan Williams		Display a comma separated list of the current decoder target
14040ba17afSDan Williams		configuration. The list is ordered by the current configured
14140ba17afSDan Williams		interleave order of the decoder's dport instances. Each entry in
14240ba17afSDan Williams		the list is a dport id.
14340ba17afSDan Williams
14440ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/cap_{pmem,ram,type2,type3}
14540ba17afSDan WilliamsDate:		June, 2021
14640ba17afSDan WilliamsKernelVersion:	v5.14
14740ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
14840ba17afSDan WilliamsDescription:
14940ba17afSDan Williams		When a CXL decoder is of devtype "cxl_decoder_root", it
15040ba17afSDan Williams		represents a fixed memory window identified by platform
15140ba17afSDan Williams		firmware. A fixed window may only support a subset of memory
15240ba17afSDan Williams		types. The 'cap_*' attributes indicate whether persistent
15340ba17afSDan Williams		memory, volatile memory, accelerator memory, and / or expander
15440ba17afSDan Williams		memory may be mapped behind this decoder's memory window.
15540ba17afSDan Williams
15640ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/target_type
15740ba17afSDan WilliamsDate:		June, 2021
15840ba17afSDan WilliamsKernelVersion:	v5.14
15940ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
16040ba17afSDan WilliamsDescription:
16140ba17afSDan Williams		When a CXL decoder is of devtype "cxl_decoder_switch", it can
16240ba17afSDan Williams		optionally decode either accelerator memory (type-2) or expander
16340ba17afSDan Williams		memory (type-3). The 'target_type' attribute indicates the
16440ba17afSDan Williams		current setting which may dynamically change based on what
16540ba17afSDan Williams		memory regions are activated in this decode hierarchy.
166