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