| What: /sys/bus/cxl/devices/memX/firmware_version | |
| Date: December, 2020 | |
| KernelVersion: v5.12 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| (RO) "FW Revision" string as reported by the Identify | |
| Memory Device Output Payload in the CXL-2.0 | |
| specification. | |
| What: /sys/bus/cxl/devices/memX/ram/size | |
| Date: December, 2020 | |
| KernelVersion: v5.12 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| (RO) "Volatile Only Capacity" as bytes. Represents the | |
| identically named field in the Identify Memory Device Output | |
| Payload in the CXL-2.0 specification. | |
| What: /sys/bus/cxl/devices/memX/pmem/size | |
| Date: December, 2020 | |
| KernelVersion: v5.12 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| (RO) "Persistent Only Capacity" as bytes. Represents the | |
| identically named field in the Identify Memory Device Output | |
| Payload in the CXL-2.0 specification. | |
| What: /sys/bus/cxl/devices/*/devtype | |
| Date: June, 2021 | |
| KernelVersion: v5.14 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| CXL device objects export the devtype attribute which mirrors | |
| the same value communicated in the DEVTYPE environment variable | |
| for uevents for devices on the "cxl" bus. | |
| What: /sys/bus/cxl/devices/portX/uport | |
| Date: June, 2021 | |
| KernelVersion: v5.14 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| CXL port objects are enumerated from either a platform firmware | |
| device (ACPI0017 and ACPI0016) or PCIe switch upstream port with | |
| CXL component registers. The 'uport' symlink connects the CXL | |
| portX object to the device that published the CXL port | |
| capability. | |
| What: /sys/bus/cxl/devices/portX/dportY | |
| Date: June, 2021 | |
| KernelVersion: v5.14 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| CXL port objects are enumerated from either a platform firmware | |
| device (ACPI0017 and ACPI0016) or PCIe switch upstream port with | |
| CXL component registers. The 'dportY' symlink identifies one or | |
| more downstream ports that the upstream port may target in its | |
| decode of CXL memory resources. The 'Y' integer reflects the | |
| hardware port unique-id used in the hardware decoder target | |
| list. | |
| What: /sys/bus/cxl/devices/decoderX.Y | |
| Date: June, 2021 | |
| KernelVersion: v5.14 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| CXL decoder objects are enumerated from either a platform | |
| firmware description, or a CXL HDM decoder register set in a | |
| PCIe device (see CXL 2.0 section 8.2.5.12 CXL HDM Decoder | |
| Capability Structure). The 'X' in decoderX.Y represents the | |
| cxl_port container of this decoder, and 'Y' represents the | |
| instance id of a given decoder resource. | |
| What: /sys/bus/cxl/devices/decoderX.Y/{start,size} | |
| Date: June, 2021 | |
| KernelVersion: v5.14 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| The 'start' and 'size' attributes together convey the physical | |
| address base and number of bytes mapped in the decoder's decode | |
| window. For decoders of devtype "cxl_decoder_root" the address | |
| range is fixed. For decoders of devtype "cxl_decoder_switch" the | |
| address is bounded by the decode range of the cxl_port ancestor | |
| of the decoder's cxl_port, and dynamically updates based on the | |
| active memory regions in that address space. | |
| What: /sys/bus/cxl/devices/decoderX.Y/locked | |
| Date: June, 2021 | |
| KernelVersion: v5.14 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| CXL HDM decoders have the capability to lock the configuration | |
| until the next device reset. For decoders of devtype | |
| "cxl_decoder_root" there is no standard facility to unlock them. | |
| For decoders of devtype "cxl_decoder_switch" a secondary bus | |
| reset, of the PCIe bridge that provides the bus for this | |
| decoders uport, unlocks / resets the decoder. | |
| What: /sys/bus/cxl/devices/decoderX.Y/target_list | |
| Date: June, 2021 | |
| KernelVersion: v5.14 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| Display a comma separated list of the current decoder target | |
| configuration. The list is ordered by the current configured | |
| interleave order of the decoder's dport instances. Each entry in | |
| the list is a dport id. | |
| What: /sys/bus/cxl/devices/decoderX.Y/cap_{pmem,ram,type2,type3} | |
| Date: June, 2021 | |
| KernelVersion: v5.14 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| When a CXL decoder is of devtype "cxl_decoder_root", it | |
| represents a fixed memory window identified by platform | |
| firmware. A fixed window may only support a subset of memory | |
| types. The 'cap_*' attributes indicate whether persistent | |
| memory, volatile memory, accelerator memory, and / or expander | |
| memory may be mapped behind this decoder's memory window. | |
| What: /sys/bus/cxl/devices/decoderX.Y/target_type | |
| Date: June, 2021 | |
| KernelVersion: v5.14 | |
| Contact: linux-cxl@vger.kernel.org | |
| Description: | |
| When a CXL decoder is of devtype "cxl_decoder_switch", it can | |
| optionally decode either accelerator memory (type-2) or expander | |
| memory (type-3). The 'target_type' attribute indicates the | |
| current setting which may dynamically change based on what | |
| memory regions are activated in this decode hierarchy. |