mbox series

[v6,0/5] CXL, ACPI, APEI, EINJ: Update EINJ for CXL error types

Message ID 20231010200254.764273-1-Benjamin.Cheatham@amd.com (mailing list archive)
Headers show
Series CXL, ACPI, APEI, EINJ: Update EINJ for CXL error types | expand

Message

Ben Cheatham Oct. 10, 2023, 8:02 p.m. UTC
v6 Changes:
	- Reworked to have CXL error types under /sys/kernel/debug/cxl (Dan)
		- Removed CXL error types from legacy EINJ interface in favor of
		new interface
	- Removed cxl_rcrb_addr file
	- Added optional patch for CXL error type #defines (patch 2/5)
	- Changes to documentation updates to match rework
	- Change base to cxl-fixes branch

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 (5):
  cxl/port: Add EINJ debugfs files and callback support
  ACPI: Add CXL protocol error defines
  EINJ: Separate CXL errors from other EINJ errors
  cxl/port, EINJ: Add CXL EINJ callback functions
  EINJ: Update EINJ documentation

 Documentation/ABI/testing/debugfs-cxl         |  27 ++++
 .../firmware-guide/acpi/apei/einj.rst         |  12 ++
 drivers/acpi/apei/Kconfig                     |   3 +
 drivers/acpi/apei/einj.c                      | 149 ++++++++++++++++--
 drivers/cxl/core/port.c                       |  84 ++++++++++
 drivers/cxl/cxl.h                             |  10 ++
 include/acpi/actbl1.h                         |   6 +
 7 files changed, 281 insertions(+), 10 deletions(-)

base-commit: c66650d29764e228eba40b7a59fdb70fa6567daa

Comments

Jonathan Cameron Oct. 11, 2023, 1:40 p.m. UTC | #1
On Tue, 10 Oct 2023 15:02:49 -0500
Ben Cheatham <Benjamin.Cheatham@amd.com> wrote:

> v6 Changes:
> 	- Reworked to have CXL error types under /sys/kernel/debug/cxl (Dan)
> 		- Removed CXL error types from legacy EINJ interface in favor of
> 		new interface
> 	- Removed cxl_rcrb_addr file
> 	- Added optional patch for CXL error type #defines (patch 2/5)
> 	- Changes to documentation updates to match rework
> 	- Change base to cxl-fixes branch

New approach looks good to me and I took a look at the implementation.
Couldn't find any problems to call out in the individual patches. 
Feel free to add

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>


> 
> 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 (5):
>   cxl/port: Add EINJ debugfs files and callback support
>   ACPI: Add CXL protocol error defines
>   EINJ: Separate CXL errors from other EINJ errors
>   cxl/port, EINJ: Add CXL EINJ callback functions
>   EINJ: Update EINJ documentation
> 
>  Documentation/ABI/testing/debugfs-cxl         |  27 ++++
>  .../firmware-guide/acpi/apei/einj.rst         |  12 ++
>  drivers/acpi/apei/Kconfig                     |   3 +
>  drivers/acpi/apei/einj.c                      | 149 ++++++++++++++++--
>  drivers/cxl/core/port.c                       |  84 ++++++++++
>  drivers/cxl/cxl.h                             |  10 ++
>  include/acpi/actbl1.h                         |   6 +
>  7 files changed, 281 insertions(+), 10 deletions(-)
> 
> base-commit: c66650d29764e228eba40b7a59fdb70fa6567daa