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