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.

		TEST-ONLY INTERFACE: This interface is intended for testing
		and validation purposes only. It is not a data repair mechanism
		and should never be used on production systems or live data.

		DATA LOSS RISK: For CXL persistent memory (PMEM) devices,
		poison injection can result in permanent data loss. Injected
		poison may render data permanently inaccessible even after
		clearing, as the clear operation writes zeros and does not
		recover original data.

		SYSTEM STABILITY RISK: For volatile memory, poison injection
		can cause kernel crashes, system instability, or unpredictable
		behavior if the poisoned addresses are accessed by running code
		or critical kernel structures.

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.

		TEST-ONLY INTERFACE: This interface is intended for testing
		and validation purposes only. It is not a data repair mechanism
		and should never be used on production systems or live data.

		CLEAR IS NOT DATA RECOVERY: This operation writes zeros to the
		specified address range and removes the address from the poison
		list. It does NOT recover or restore original data that may have
		been present before poison injection. Any original data at the
		cleared address is permanently lost and replaced with zeros.

		CLEAR IS NOT A REPAIR MECHANISM: This interface is for testing
		purposes only and should not be used as a data repair tool.
		Clearing poison is fundamentally different from data recovery
		or error correction.

What:		/sys/kernel/debug/cxl/regionX/inject_poison
Date:		August, 2025
Contact:	linux-cxl@vger.kernel.org
Description:
		(WO) When a Host Physical Address (HPA) is written to this
		attribute, the region driver translates it to a Device
		Physical Address (DPA) and identifies the corresponding
		memdev. It then sends an inject poison command to that memdev
		at the translated DPA. Refer to the memdev ABI entry at:
		/sys/kernel/debug/cxl/memX/inject_poison for the detailed
		behavior. This attribute is only visible if all memdevs
		participating in the region support both inject and clear
		poison commands.

		TEST-ONLY INTERFACE: This interface is intended for testing
		and validation purposes only. It is not a data repair mechanism
		and should never be used on production systems or live data.

		DATA LOSS RISK: For CXL persistent memory (PMEM) devices,
		poison injection can result in permanent data loss. Injected
		poison may render data permanently inaccessible even after
		clearing, as the clear operation writes zeros and does not
		recover original data.

		SYSTEM STABILITY RISK: For volatile memory, poison injection
		can cause kernel crashes, system instability, or unpredictable
		behavior if the poisoned addresses are accessed by running code
		or critical kernel structures.

What:		/sys/kernel/debug/cxl/regionX/clear_poison
Date:		August, 2025
Contact:	linux-cxl@vger.kernel.org
Description:
		(WO) When a Host Physical Address (HPA) is written to this
		attribute, the region driver translates it to a Device
		Physical Address (DPA) and identifies the corresponding
		memdev. It then sends a clear poison command to that memdev
		at the translated DPA. Refer to the memdev ABI entry at:
		/sys/kernel/debug/cxl/memX/clear_poison for the detailed
		behavior. This attribute is only visible if all memdevs
		participating in the region support both inject and clear
		poison commands.

		TEST-ONLY INTERFACE: This interface is intended for testing
		and validation purposes only. It is not a data repair mechanism
		and should never be used on production systems or live data.

		CLEAR IS NOT DATA RECOVERY: This operation writes zeros to the
		specified address range and removes the address from the poison
		list. It does NOT recover or restore original data that may have
		been present before poison injection. Any original data at the
		cleared address is permanently lost and replaced with zeros.

		CLEAR IS NOT A REPAIR MECHANISM: This interface is for testing
		purposes only and should not be used as a data repair tool.
		Clearing poison is fundamentally different from data recovery
		or error correction.

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.
