71 lines · plain
1What: /sys/kernel/debug/cxl/memX/inject_poison2Date: April, 20233KernelVersion: v6.44Contact: linux-cxl@vger.kernel.org5Description:6 (WO) When a Device Physical Address (DPA) is written to this7 attribute, the memdev driver sends an inject poison command to8 the device for the specified address. The DPA must be 64-byte9 aligned and the length of the injected poison is 64-bytes. If10 successful, the device returns poison when the address is11 accessed through the CXL.mem bus. Injecting poison adds the12 address to the device's Poison List and the error source is set13 to Injected. In addition, the device adds a poison creation14 event to its internal Informational Event log, updates the15 Event Status register, and if configured, interrupts the host.16 It is not an error to inject poison into an address that17 already has poison present and no error is returned. If the18 device returns 'Inject Poison Limit Reached' an -EBUSY error19 is returned to the user. The inject_poison attribute is only20 visible for devices supporting the capability.21 22 23What: /sys/kernel/debug/memX/clear_poison24Date: April, 202325KernelVersion: v6.426Contact: linux-cxl@vger.kernel.org27Description:28 (WO) When a Device Physical Address (DPA) is written to this29 attribute, the memdev driver sends a clear poison command to30 the device for the specified address. Clearing poison removes31 the address from the device's Poison List and writes 0 (zero)32 for 64 bytes starting at address. It is not an error to clear33 poison from an address that does not have poison set. If the34 device cannot clear poison from the address, -ENXIO is returned.35 The clear_poison attribute is only visible for devices36 supporting the capability.37 38What: /sys/kernel/debug/cxl/einj_types39Date: January, 202440KernelVersion: v6.941Contact: linux-cxl@vger.kernel.org42Description:43 (RO) Prints the CXL protocol error types made available by44 the platform in the format:45 46 0x<error number> <error type>47 48 The possible error types are (as of ACPI v6.5):49 50 0x1000 CXL.cache Protocol Correctable51 0x2000 CXL.cache Protocol Uncorrectable non-fatal52 0x4000 CXL.cache Protocol Uncorrectable fatal53 0x8000 CXL.mem Protocol Correctable54 0x10000 CXL.mem Protocol Uncorrectable non-fatal55 0x20000 CXL.mem Protocol Uncorrectable fatal56 57 The <error number> can be written to einj_inject to inject58 <error type> into a chosen dport.59 60What: /sys/kernel/debug/cxl/$dport_dev/einj_inject61Date: January, 202462KernelVersion: v6.963Contact: linux-cxl@vger.kernel.org64Description:65 (WO) Writing an integer to this file injects the corresponding66 CXL protocol error into $dport_dev ($dport_dev will be a device67 name from /sys/bus/pci/devices). The integer to type mapping for68 injection can be found by reading from einj_types. If the dport69 was enumerated in RCH mode, a CXL 1.1 error is injected, otherwise70 a CXL 2.0 error is injected.71