[PATCH v6 0/9] Enable EINJv2 Support

From: Zaid Alali
Date: Thu Apr 17 2025 - 18:00:43 EST


The goal of this update is to allow the driver to simultaneously
support EINJ and EINJv2. The implementation follows the approved ACPI
specs[1][2] that enables the driver to discover system capabilities
through GET_ERROR_TYPE.

Note: The first two ACPICA patches are to be dropped once merged in
ACPICA project, see pull request[3].

Link: https://github.com/tianocore/edk2/issues/9449 [1]
Link: https://github.com/tianocore/edk2/issues/9017 [2]
Link: https://github.com/acpica/acpica/pull/977 [3]

V5:
*Users no longer input component array size, instead it
is counted by parsing the component array itself.
V6:
*Fix memory leak.
*If EINJv2 initialization failed, EINJv1 will still work, and
probe function will continue with disabled EINJv2.

Zaid Alali (9):
ACPICA: Update values to hex to follow ACPI specs
ACPICA: Add EINJv2 get error type action
ACPI: APEI: EINJ: Fix kernel test sparse warnings
ACPI: APEI: EINJ: Remove redundant calls to
einj_get_available_error_type
ACPI: APEI: EINJ: Enable the discovery of EINJv2 capabilities
ACPI: APEI: EINJ: Add einjv2 extension struct
ACPI: APEI: EINJ: Add debugfs files for EINJv2 support
ACPI: APEI: EINJ: Enable EINJv2 error injections
ACPI: APEI: EINJ: Update the documentation for EINJv2 support

.../firmware-guide/acpi/apei/einj.rst | 32 ++
drivers/acpi/apei/apei-internal.h | 2 +-
drivers/acpi/apei/einj-core.c | 345 ++++++++++++++----
drivers/acpi/apei/einj-cxl.c | 2 +-
include/acpi/actbl1.h | 25 +-
5 files changed, 314 insertions(+), 92 deletions(-)

--
2.43.0