rjw | 1f88458 | 2022-01-06 17:20:42 +0800 | [diff] [blame^] | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | config HAVE_ACPI_APEI |
| 3 | bool |
| 4 | |
| 5 | config HAVE_ACPI_APEI_NMI |
| 6 | bool |
| 7 | |
| 8 | config ACPI_APEI |
| 9 | bool "ACPI Platform Error Interface (APEI)" |
| 10 | select MISC_FILESYSTEMS |
| 11 | select PSTORE |
| 12 | select UEFI_CPER |
| 13 | depends on HAVE_ACPI_APEI |
| 14 | help |
| 15 | APEI allows to report errors (for example from the chipset) |
| 16 | to the operating system. This improves NMI handling |
| 17 | especially. In addition it supports error serialization and |
| 18 | error injection. |
| 19 | |
| 20 | config ACPI_APEI_GHES |
| 21 | bool "APEI Generic Hardware Error Source" |
| 22 | depends on ACPI_APEI |
| 23 | select ACPI_HED |
| 24 | select IRQ_WORK |
| 25 | select GENERIC_ALLOCATOR |
| 26 | help |
| 27 | Generic Hardware Error Source provides a way to report |
| 28 | platform hardware errors (such as that from chipset). It |
| 29 | works in so called "Firmware First" mode, that is, hardware |
| 30 | errors are reported to firmware firstly, then reported to |
| 31 | Linux by firmware. This way, some non-standard hardware |
| 32 | error registers or non-standard hardware link can be checked |
| 33 | by firmware to produce more valuable hardware error |
| 34 | information for Linux. |
| 35 | |
| 36 | config ACPI_APEI_PCIEAER |
| 37 | bool "APEI PCIe AER logging/recovering support" |
| 38 | depends on ACPI_APEI && PCIEAER |
| 39 | help |
| 40 | PCIe AER errors may be reported via APEI firmware first mode. |
| 41 | Turn on this option to enable the corresponding support. |
| 42 | |
| 43 | config ACPI_APEI_SEA |
| 44 | bool "APEI Synchronous External Abort logging/recovering support" |
| 45 | depends on ARM64 && ACPI_APEI_GHES |
| 46 | default y |
| 47 | help |
| 48 | This option should be enabled if the system supports |
| 49 | firmware first handling of SEA (Synchronous External Abort). |
| 50 | SEA happens with certain faults of data abort or instruction |
| 51 | abort synchronous exceptions on ARMv8 systems. If a system |
| 52 | supports firmware first handling of SEA, the platform analyzes |
| 53 | and handles hardware error notifications from SEA, and it may then |
| 54 | form a HW error record for the OS to parse and handle. This |
| 55 | option allows the OS to look for such hardware error record, and |
| 56 | take appropriate action. |
| 57 | |
| 58 | config ACPI_APEI_MEMORY_FAILURE |
| 59 | bool "APEI memory error recovering support" |
| 60 | depends on ACPI_APEI && MEMORY_FAILURE |
| 61 | help |
| 62 | Memory errors may be reported via APEI firmware first mode. |
| 63 | Turn on this option to enable the memory recovering support. |
| 64 | |
| 65 | config ACPI_APEI_EINJ |
| 66 | tristate "APEI Error INJection (EINJ)" |
| 67 | depends on ACPI_APEI && DEBUG_FS |
| 68 | help |
| 69 | EINJ provides a hardware error injection mechanism, it is |
| 70 | mainly used for debugging and testing the other parts of |
| 71 | APEI and some other RAS features. |
| 72 | |
| 73 | config ACPI_APEI_ERST_DEBUG |
| 74 | tristate "APEI Error Record Serialization Table (ERST) Debug Support" |
| 75 | depends on ACPI_APEI |
| 76 | help |
| 77 | ERST is a way provided by APEI to save and retrieve hardware |
| 78 | error information to and from a persistent store. Enable this |
| 79 | if you want to debugging and testing the ERST kernel support |
| 80 | and firmware implementation. |