diff options
Diffstat (limited to 'Documentation/ABI/testing/debugfs-cxl')
| -rw-r--r-- | Documentation/ABI/testing/debugfs-cxl | 70 | 
1 files changed, 70 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/debugfs-cxl b/Documentation/ABI/testing/debugfs-cxl new file mode 100644 index 000000000000..e95e21f131e9 --- /dev/null +++ b/Documentation/ABI/testing/debugfs-cxl @@ -0,0 +1,70 @@ +What:		/sys/kernel/debug/cxl/memX/inject_poison +Date:		April, 2023 +KernelVersion:	v6.4 +Contact:	linux-cxl@vger.kernel.org +Description: +		(WO) When a Device Physical Address (DPA) is written to this +		attribute, the memdev driver sends an inject poison command to +		the device for the specified address. The DPA must be 64-byte +		aligned and the length of the injected poison is 64-bytes. If +		successful, the device returns poison when the address is +		accessed through the CXL.mem bus. Injecting poison adds the +		address to the device's Poison List and the error source is set +		to Injected. In addition, the device adds a poison creation +		event to its internal Informational Event log, updates the +		Event Status register, and if configured, interrupts the host. +		It is not an error to inject poison into an address that +		already has poison present and no error is returned. If the +		device returns 'Inject Poison Limit Reached' an -EBUSY error +		is returned to the user. The inject_poison attribute is only +		visible for devices supporting the capability. + + +What:		/sys/kernel/debug/cxl/memX/clear_poison +Date:		April, 2023 +KernelVersion:	v6.4 +Contact:	linux-cxl@vger.kernel.org +Description: +		(WO) When a Device Physical Address (DPA) is written to this +		attribute, the memdev driver sends a clear poison command to +		the device for the specified address. Clearing poison removes +		the address from the device's Poison List and writes 0 (zero) +		for 64 bytes starting at address. It is not an error to clear +		poison from an address that does not have poison set. If the +		device cannot clear poison from the address, -ENXIO is returned. +		The clear_poison attribute is only visible for devices +		supporting the capability. + +What:		/sys/kernel/debug/cxl/einj_types +Date:		January, 2024 +KernelVersion:	v6.9 +Contact:	linux-cxl@vger.kernel.org +Description: +		(RO) Prints the CXL protocol error types made available by +		the platform in the format: + +			0x<error number> <error type> + +		The possible error types are (as of ACPI v6.5): + +			0x1000	CXL.cache Protocol Correctable +			0x2000	CXL.cache Protocol Uncorrectable non-fatal +			0x4000	CXL.cache Protocol Uncorrectable fatal +			0x8000	CXL.mem Protocol Correctable +			0x10000	CXL.mem Protocol Uncorrectable non-fatal +			0x20000	CXL.mem Protocol Uncorrectable fatal + +		The <error number> can be written to einj_inject to inject +		<error type> into a chosen dport. + +What:		/sys/kernel/debug/cxl/$dport_dev/einj_inject +Date:		January, 2024 +KernelVersion:	v6.9 +Contact:	linux-cxl@vger.kernel.org +Description: +		(WO) Writing an integer to this file injects the corresponding +		CXL protocol error into $dport_dev ($dport_dev will be a device +		name from /sys/bus/pci/devices). The integer to type mapping for +		injection can be found by reading from einj_types. If the dport +		was enumerated in RCH mode, a CXL 1.1 error is injected, otherwise +		a CXL 2.0 error is injected.  | 
