v12 Changes: - Rebase onto v6.8-rc4 - Squash Kconfig patch into patch 2/3 (Jonathan) - Change CONFIG_CXL_EINJ from "depends on ACPI_APEI_EINJ >= CXL_BUS" to "depends on ACPI_APEI_EINJ = CXL_BUS" - Drop "ACPI, APEI" part of commit message title and use just EINJ instead (Dan) - Add protocol error types to "einj_types" documentation (Jonathan) - Change 0xffff... constants to use GENMASK() - Drop param* variables and use constants instead in cxl error inject functions (Jonathan) - Add is_cxl_error_type() helper function in einj.c (Jonathan) - Remove a stray function declaration in einj-cxl.h (Jonathan) - Comment #else/#endifs with corresponding #if/#ifdef in einj-cxl.h (Jonathan) v11 Changes: - Drop patch 2/6 (Add CXL protocol error defines) and put the defines in patch 4/6 instead (Dan) - Add Dan's reviewed-by The new CXL error types will use the Memory Address field in the SET_ERROR_TYPE_WITH_ADDRESS structure in order to target a CXL 1.1 compliant memory-mapped downstream port. The value of the memory address will be in the port's MMIO range, and it will not represent physical (normal or persistent) memory. Add the functionality for injecting CXL 1.1 errors to the EINJ module, but not through the EINJ legacy interface under /sys/kernel/debug/apei/einj. Instead, make the error types available under /sys/kernel/debug/cxl. This allows for validating the MMIO address for a CXL 1.1 error type while also not making the user responsible for finding it. Ben Cheatham (3): EINJ: Migrate to a platform driver cxl/core, EINJ: Add EINJ CXL debugfs files and EINJ helper functions EINJ, Documentation: Update EINJ kernel doc Documentation/ABI/testing/debugfs-cxl | 30 +++ .../firmware-guide/acpi/apei/einj.rst | 19 ++ MAINTAINERS | 1 + drivers/acpi/apei/einj.c | 202 ++++++++++++++++-- drivers/cxl/Kconfig | 12 ++ drivers/cxl/core/port.c | 41 ++++ include/linux/einj-cxl.h | 40 ++++ 7 files changed, 332 insertions(+), 13 deletions(-) create mode 100644 include/linux/einj-cxl.h -- 2.34.1