src/acpi: Add APEI EINJ support
This adds full EINJ support with trigger action tables. The actual error injection functionality is HW specific. Therefore, HW specific code should call acpi_create_einj with an address where action table resides. The default params of the action table are filled out by the common code. Control is then returned back to the caller to modify or override default parameters. If no changes are needed, caller can simply add the acpi table. At runtime, FW is responsible for filling out the action table with the proper entries. The action table memory is shared between FW and OS. This memory should be marked as reserved in E820 table. Tested on Deltalake mainboard. Boot to OS, load the EINJ driver ( modprobe EINJ) and verify EINJ memory entries are in /proc/iomem. Further tested by injecting errors via the APEI file nodes. More information on error injection can be referenced in the latest ACPI spec. Change-Id: I29c6a861c564ec104f2c097f3e49b3e6d38b040e Signed-off-by: Rocky Phagura <rphagura@fb.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/49286 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Rocky Phagura
This commit is contained in:
committed by
David Hendricks
parent
7da1c1732a
commit
eff0713dfc
@@ -38,6 +38,12 @@ config ACPI_NO_PCAT_8259
|
||||
help
|
||||
Selected by platforms that don't expose a PC/AT 8259 PIC pair.
|
||||
|
||||
config ACPI_EINJ
|
||||
def_bool n
|
||||
depends on HAVE_ACPI_TABLES
|
||||
help
|
||||
This variable provides control for ACPI error injection table (EINJ)
|
||||
|
||||
config HAVE_ACPI_TABLES
|
||||
bool
|
||||
help
|
||||
|
Reference in New Issue
Block a user