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