forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'cxl-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/cxl/cxl Pull compute express link updates from Dan Williams: "DOE support is promoted from drivers/cxl/ to drivers/pci/ with Bjorn's blessing, and the CXL core continues to mature its media management capabilities with support for listing and injecting media errors. Some late fixes that missed v6.3-final are also included: - Refactor the DOE infrastructure (Data Object Exchange PCI-config-cycle mailbox) to be a facility of the PCI core rather than the CXL core. This is foundational for upcoming support for PCI device-attestation and PCIe / CXL link encryption. - Add support for retrieving and injecting poison for CXL memory expanders. This enabling uses trace-events to convey CXL media error records to user tooling. It includes translation of device-local addresses (DPA) to system physical addresses (SPA) and their corresponding CXL region. - Fixes for decoder enumeration that missed v6.3-final - Miscellaneous fixups" * tag 'cxl-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (38 commits) cxl/test: Add mock test for set_timestamp cxl/mbox: Update CMD_RC_TABLE tools/testing/cxl: Require CONFIG_DEBUG_FS tools/testing/cxl: Add a sysfs attr to test poison inject limits tools/testing/cxl: Use injected poison for get poison list tools/testing/cxl: Mock the Clear Poison mailbox command tools/testing/cxl: Mock the Inject Poison mailbox command cxl/mem: Add debugfs attributes for poison inject and clear cxl/memdev: Trace inject and clear poison as cxl_poison events cxl/memdev: Warn of poison inject or clear to a mapped region cxl/memdev: Add support for the Clear Poison mailbox command cxl/memdev: Add support for the Inject Poison mailbox command tools/testing/cxl: Mock support for Get Poison List cxl/trace: Add an HPA to cxl_poison trace events cxl/region: Provide region info to the cxl_poison trace event cxl/memdev: Add trigger_poison_list sysfs attribute cxl/trace: Add TRACE support for CXL media-error records cxl/mbox: Add GET_POISON_LIST mailbox command cxl/mbox: Initialize the poison state cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all ...
- Loading branch information
Showing
25 changed files
with
1,583 additions
and
313 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
What: /sys/kernel/debug/cxl/memX/inject_poison | ||
Date: April, 2023 | ||
KernelVersion: v6.4 | ||
Contact: [email protected] | ||
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. The | ||
inject_poison attribute is only visible for devices supporting | ||
the capability. | ||
|
||
|
||
What: /sys/kernel/debug/memX/clear_poison | ||
Date: April, 2023 | ||
KernelVersion: v6.4 | ||
Contact: [email protected] | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -415,3 +415,17 @@ Description: | |
1), and checks that the hardware accepts the commit request. | ||
Reading this value indicates whether the region is committed or | ||
not. | ||
|
||
|
||
What: /sys/bus/cxl/devices/memX/trigger_poison_list | ||
Date: April, 2023 | ||
KernelVersion: v6.4 | ||
Contact: [email protected] | ||
Description: | ||
(WO) When a boolean 'true' is written to this attribute the | ||
memdev driver retrieves the poison list from the device. The | ||
list consists of addresses that are poisoned, or would result | ||
in poison if accessed, and the source of the poison. This | ||
attribute is only visible for devices supporting the | ||
capability. The retrieved errors are logged as kernel | ||
events when cxl_poison event tracing is enabled. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.