eff0713dfc
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
57 lines
1.3 KiB
Text
57 lines
1.3 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
config ACPI_AMD_HARDWARE_SLEEP_VALUES
|
|
def_bool n
|
|
help
|
|
Provide common definitions for AMD hardware PM1_CNT register sleep
|
|
values.
|
|
|
|
config ACPI_CPU_STRING
|
|
string
|
|
default "\\_SB.CP%02d"
|
|
depends on HAVE_ACPI_TABLES
|
|
help
|
|
Sets the ACPI name string in the processor scope as written by
|
|
the acpigen function. Default is \_SB.CPxx. Note that you need
|
|
the \ escape character in the string.
|
|
|
|
config ACPI_HAVE_PCAT_8259
|
|
def_bool y if !ACPI_NO_PCAT_8259
|
|
|
|
config ACPI_INTEL_HARDWARE_SLEEP_VALUES
|
|
def_bool n
|
|
help
|
|
Provide common definitions for Intel hardware PM1_CNT register sleep
|
|
values.
|
|
|
|
config ACPI_SOC_NVS
|
|
bool
|
|
help
|
|
Set to indicate <soc/nvs.h> exists for the platform with a definition
|
|
for global_nvs.
|
|
|
|
config ACPI_HAS_DEVICE_NVS
|
|
bool
|
|
|
|
config ACPI_NO_PCAT_8259
|
|
bool
|
|
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
|
|
This variable specifies whether a given board has ACPI table support.
|
|
It is usually set in mainboard/*/Kconfig.
|
|
|
|
config ACPI_LPIT
|
|
bool
|
|
depends on HAVE_ACPI_TABLES
|
|
help
|
|
Selected by platforms that support and fill Intel Low Power Idle Table.
|