162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ciconfig HAVE_ACPI_APEI
362306a36Sopenharmony_ci	bool
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciconfig HAVE_ACPI_APEI_NMI
662306a36Sopenharmony_ci	bool
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciconfig ACPI_APEI
962306a36Sopenharmony_ci	bool "ACPI Platform Error Interface (APEI)"
1062306a36Sopenharmony_ci	select MISC_FILESYSTEMS
1162306a36Sopenharmony_ci	select PSTORE
1262306a36Sopenharmony_ci	select UEFI_CPER
1362306a36Sopenharmony_ci	depends on HAVE_ACPI_APEI
1462306a36Sopenharmony_ci	help
1562306a36Sopenharmony_ci	  APEI allows to report errors (for example from the chipset)
1662306a36Sopenharmony_ci	  to the operating system. This improves NMI handling
1762306a36Sopenharmony_ci	  especially. In addition it supports error serialization and
1862306a36Sopenharmony_ci	  error injection.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig ACPI_APEI_GHES
2162306a36Sopenharmony_ci	bool "APEI Generic Hardware Error Source"
2262306a36Sopenharmony_ci	depends on ACPI_APEI
2362306a36Sopenharmony_ci	select ACPI_HED
2462306a36Sopenharmony_ci	select IRQ_WORK
2562306a36Sopenharmony_ci	select GENERIC_ALLOCATOR
2662306a36Sopenharmony_ci	help
2762306a36Sopenharmony_ci	  Generic Hardware Error Source provides a way to report
2862306a36Sopenharmony_ci	  platform hardware errors (such as that from chipset). It
2962306a36Sopenharmony_ci	  works in so called "Firmware First" mode, that is, hardware
3062306a36Sopenharmony_ci	  errors are reported to firmware firstly, then reported to
3162306a36Sopenharmony_ci	  Linux by firmware. This way, some non-standard hardware
3262306a36Sopenharmony_ci	  error registers or non-standard hardware link can be checked
3362306a36Sopenharmony_ci	  by firmware to produce more valuable hardware error
3462306a36Sopenharmony_ci	  information for Linux.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciconfig ACPI_APEI_PCIEAER
3762306a36Sopenharmony_ci	bool "APEI PCIe AER logging/recovering support"
3862306a36Sopenharmony_ci	depends on ACPI_APEI && PCIEAER
3962306a36Sopenharmony_ci	help
4062306a36Sopenharmony_ci	  PCIe AER errors may be reported via APEI firmware first mode.
4162306a36Sopenharmony_ci	  Turn on this option to enable the corresponding support.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig ACPI_APEI_SEA
4462306a36Sopenharmony_ci	bool
4562306a36Sopenharmony_ci	depends on ARM64 && ACPI_APEI_GHES
4662306a36Sopenharmony_ci	default y
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig ACPI_APEI_MEMORY_FAILURE
4962306a36Sopenharmony_ci	bool "APEI memory error recovering support"
5062306a36Sopenharmony_ci	depends on ACPI_APEI && MEMORY_FAILURE
5162306a36Sopenharmony_ci	help
5262306a36Sopenharmony_ci	  Memory errors may be reported via APEI firmware first mode.
5362306a36Sopenharmony_ci	  Turn on this option to enable the memory recovering support.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciconfig ACPI_APEI_EINJ
5662306a36Sopenharmony_ci	tristate "APEI Error INJection (EINJ)"
5762306a36Sopenharmony_ci	depends on ACPI_APEI && DEBUG_FS
5862306a36Sopenharmony_ci	help
5962306a36Sopenharmony_ci	  EINJ provides a hardware error injection mechanism, it is
6062306a36Sopenharmony_ci	  mainly used for debugging and testing the other parts of
6162306a36Sopenharmony_ci	  APEI and some other RAS features.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciconfig ACPI_APEI_ERST_DEBUG
6462306a36Sopenharmony_ci	tristate "APEI Error Record Serialization Table (ERST) Debug Support"
6562306a36Sopenharmony_ci	depends on ACPI_APEI
6662306a36Sopenharmony_ci	help
6762306a36Sopenharmony_ci	  ERST is a way provided by APEI to save and retrieve hardware
6862306a36Sopenharmony_ci	  error information to and from a persistent store. Enable this
6962306a36Sopenharmony_ci	  if you want to debugging and testing the ERST kernel support
7062306a36Sopenharmony_ci	  and firmware implementation.
71