162306a36Sopenharmony_ciWhat: /sys/kernel/debug/cxl/memX/inject_poison 262306a36Sopenharmony_ciDate: April, 2023 362306a36Sopenharmony_ciKernelVersion: v6.4 462306a36Sopenharmony_ciContact: linux-cxl@vger.kernel.org 562306a36Sopenharmony_ciDescription: 662306a36Sopenharmony_ci (WO) When a Device Physical Address (DPA) is written to this 762306a36Sopenharmony_ci attribute, the memdev driver sends an inject poison command to 862306a36Sopenharmony_ci the device for the specified address. The DPA must be 64-byte 962306a36Sopenharmony_ci aligned and the length of the injected poison is 64-bytes. If 1062306a36Sopenharmony_ci successful, the device returns poison when the address is 1162306a36Sopenharmony_ci accessed through the CXL.mem bus. Injecting poison adds the 1262306a36Sopenharmony_ci address to the device's Poison List and the error source is set 1362306a36Sopenharmony_ci to Injected. In addition, the device adds a poison creation 1462306a36Sopenharmony_ci event to its internal Informational Event log, updates the 1562306a36Sopenharmony_ci Event Status register, and if configured, interrupts the host. 1662306a36Sopenharmony_ci It is not an error to inject poison into an address that 1762306a36Sopenharmony_ci already has poison present and no error is returned. The 1862306a36Sopenharmony_ci inject_poison attribute is only visible for devices supporting 1962306a36Sopenharmony_ci the capability. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciWhat: /sys/kernel/debug/memX/clear_poison 2362306a36Sopenharmony_ciDate: April, 2023 2462306a36Sopenharmony_ciKernelVersion: v6.4 2562306a36Sopenharmony_ciContact: linux-cxl@vger.kernel.org 2662306a36Sopenharmony_ciDescription: 2762306a36Sopenharmony_ci (WO) When a Device Physical Address (DPA) is written to this 2862306a36Sopenharmony_ci attribute, the memdev driver sends a clear poison command to 2962306a36Sopenharmony_ci the device for the specified address. Clearing poison removes 3062306a36Sopenharmony_ci the address from the device's Poison List and writes 0 (zero) 3162306a36Sopenharmony_ci for 64 bytes starting at address. It is not an error to clear 3262306a36Sopenharmony_ci poison from an address that does not have poison set. If the 3362306a36Sopenharmony_ci device cannot clear poison from the address, -ENXIO is returned. 3462306a36Sopenharmony_ci The clear_poison attribute is only visible for devices 3562306a36Sopenharmony_ci supporting the capability. 36