1# SPDX-License-Identifier: GPL-2.0
2config HAVE_ACPI_APEI
3	bool
4
5config HAVE_ACPI_APEI_NMI
6	bool
7
8config 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
20config 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
36config 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
43config ACPI_APEI_SEA
44	bool
45	depends on ARM64 && ACPI_APEI_GHES
46	default y
47
48config ACPI_APEI_MEMORY_FAILURE
49	bool "APEI memory error recovering support"
50	depends on ACPI_APEI && MEMORY_FAILURE
51	help
52	  Memory errors may be reported via APEI firmware first mode.
53	  Turn on this option to enable the memory recovering support.
54
55config ACPI_APEI_EINJ
56	tristate "APEI Error INJection (EINJ)"
57	depends on ACPI_APEI && DEBUG_FS
58	help
59	  EINJ provides a hardware error injection mechanism, it is
60	  mainly used for debugging and testing the other parts of
61	  APEI and some other RAS features.
62
63config ACPI_APEI_ERST_DEBUG
64	tristate "APEI Error Record Serialization Table (ERST) Debug Support"
65	depends on ACPI_APEI
66	help
67	  ERST is a way provided by APEI to save and retrieve hardware
68	  error information to and from a persistent store. Enable this
69	  if you want to debugging and testing the ERST kernel support
70	  and firmware implementation.
71