GNU Linux-libre 4.14.290-gnu1
[releases.git] / drivers / acpi / apei / Kconfig
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.