2021-02-17 12:09:52 +08:00
|
|
|
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.
|
2021-06-10 00:01:35 +08:00
|
|
|
|
|
|
|
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.
|
2021-06-10 00:01:46 +08:00
|
|
|
|
|
|
|
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.
|
2021-06-10 00:43:29 +08:00
|
|
|
|
|
|
|
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.
|