1 What: /sys/kernel/debug/cxl/memX/inj 1 What: /sys/kernel/debug/cxl/memX/inject_poison 2 Date: April, 2023 2 Date: April, 2023 3 KernelVersion: v6.4 3 KernelVersion: v6.4 4 Contact: linux-cxl@vger.kernel.org 4 Contact: linux-cxl@vger.kernel.org 5 Description: 5 Description: 6 (WO) When a Device Physical Ad 6 (WO) When a Device Physical Address (DPA) is written to this 7 attribute, the memdev driver s 7 attribute, the memdev driver sends an inject poison command to 8 the device for the specified a 8 the device for the specified address. The DPA must be 64-byte 9 aligned and the length of the 9 aligned and the length of the injected poison is 64-bytes. If 10 successful, the device returns 10 successful, the device returns poison when the address is 11 accessed through the CXL.mem b 11 accessed through the CXL.mem bus. Injecting poison adds the 12 address to the device's Poison 12 address to the device's Poison List and the error source is set 13 to Injected. In addition, the 13 to Injected. In addition, the device adds a poison creation 14 event to its internal Informat 14 event to its internal Informational Event log, updates the 15 Event Status register, and if 15 Event Status register, and if configured, interrupts the host. 16 It is not an error to inject p 16 It is not an error to inject poison into an address that 17 already has poison present and 17 already has poison present and no error is returned. If the 18 device returns 'Inject Poison 18 device returns 'Inject Poison Limit Reached' an -EBUSY error 19 is returned to the user. The i 19 is returned to the user. The inject_poison attribute is only 20 visible for devices supporting 20 visible for devices supporting the capability. 21 21 22 22 23 What: /sys/kernel/debug/memX/clear_p 23 What: /sys/kernel/debug/memX/clear_poison 24 Date: April, 2023 24 Date: April, 2023 25 KernelVersion: v6.4 25 KernelVersion: v6.4 26 Contact: linux-cxl@vger.kernel.org 26 Contact: linux-cxl@vger.kernel.org 27 Description: 27 Description: 28 (WO) When a Device Physical Ad 28 (WO) When a Device Physical Address (DPA) is written to this 29 attribute, the memdev driver s 29 attribute, the memdev driver sends a clear poison command to 30 the device for the specified a 30 the device for the specified address. Clearing poison removes 31 the address from the device's 31 the address from the device's Poison List and writes 0 (zero) 32 for 64 bytes starting at addre 32 for 64 bytes starting at address. It is not an error to clear 33 poison from an address that do 33 poison from an address that does not have poison set. If the 34 device cannot clear poison fro 34 device cannot clear poison from the address, -ENXIO is returned. 35 The clear_poison attribute is 35 The clear_poison attribute is only visible for devices 36 supporting the capability. 36 supporting the capability. 37 37 38 What: /sys/kernel/debug/cxl/einj_typ 38 What: /sys/kernel/debug/cxl/einj_types 39 Date: January, 2024 39 Date: January, 2024 40 KernelVersion: v6.9 40 KernelVersion: v6.9 41 Contact: linux-cxl@vger.kernel.org 41 Contact: linux-cxl@vger.kernel.org 42 Description: 42 Description: 43 (RO) Prints the CXL protocol e 43 (RO) Prints the CXL protocol error types made available by 44 the platform in the format: 44 the platform in the format: 45 45 46 0x<error number> <erro 46 0x<error number> <error type> 47 47 48 The possible error types are ( 48 The possible error types are (as of ACPI v6.5): 49 49 50 0x1000 CXL.cache Prot 50 0x1000 CXL.cache Protocol Correctable 51 0x2000 CXL.cache Prot 51 0x2000 CXL.cache Protocol Uncorrectable non-fatal 52 0x4000 CXL.cache Prot 52 0x4000 CXL.cache Protocol Uncorrectable fatal 53 0x8000 CXL.mem Protoc 53 0x8000 CXL.mem Protocol Correctable 54 0x10000 CXL.mem Protoc 54 0x10000 CXL.mem Protocol Uncorrectable non-fatal 55 0x20000 CXL.mem Protoc 55 0x20000 CXL.mem Protocol Uncorrectable fatal 56 56 57 The <error number> can be writ 57 The <error number> can be written to einj_inject to inject 58 <error type> into a chosen dpo 58 <error type> into a chosen dport. 59 59 60 What: /sys/kernel/debug/cxl/$dport_d 60 What: /sys/kernel/debug/cxl/$dport_dev/einj_inject 61 Date: January, 2024 61 Date: January, 2024 62 KernelVersion: v6.9 62 KernelVersion: v6.9 63 Contact: linux-cxl@vger.kernel.org 63 Contact: linux-cxl@vger.kernel.org 64 Description: 64 Description: 65 (WO) Writing an integer to thi 65 (WO) Writing an integer to this file injects the corresponding 66 CXL protocol error into $dport 66 CXL protocol error into $dport_dev ($dport_dev will be a device 67 name from /sys/bus/pci/devices 67 name from /sys/bus/pci/devices). The integer to type mapping for 68 injection can be found by read 68 injection can be found by reading from einj_types. If the dport 69 was enumerated in RCH mode, a 69 was enumerated in RCH mode, a CXL 1.1 error is injected, otherwise 70 a CXL 2.0 error is injected. 70 a CXL 2.0 error is injected.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.