# SPDX-License-Identifier: GPL-2.0
config HAVE_ACPI_APEI
	bool

config HAVE_ACPI_APEI_NMI
	bool

config ACPI_APEI
	bool "ACPI Platform Error Interface (APEI)"
	select MISC_FILESYSTEMS
	select PSTORE
	select UEFI_CPER
	depends on HAVE_ACPI_APEI
	help
	  APEI allows to report errors (for example from the chipset)
	  to the operating system. This improves NMI handling
	  especially. In addition it supports error serialization and
	  error injection.

config ACPI_APEI_GHES
	bool "APEI Generic Hardware Error Source"
	depends on ACPI_APEI
	select ACPI_HED
	select IRQ_WORK
	select GENERIC_ALLOCATOR
	help
	  Generic Hardware Error Source provides a way to report
	  platform hardware errors (such as that from chipset). It
	  works in so called "Firmware First" mode, that is, hardware
	  errors are reported to firmware firstly, then reported to
	  Linux by firmware. This way, some non-standard hardware
	  error registers or non-standard hardware link can be checked
	  by firmware to produce more valuable hardware error
	  information for Linux.

config ACPI_APEI_PCIEAER
	bool "APEI PCIe AER logging/recovering support"
	depends on ACPI_APEI && PCIEAER
	help
	  PCIe AER errors may be reported via APEI firmware first mode.
	  Turn on this option to enable the corresponding support.

config ACPI_APEI_SEA
	bool
	depends on ARM64 && ACPI_APEI_GHES
	default y

config ACPI_APEI_MEMORY_FAILURE
	bool "APEI memory error recovering support"
	depends on ACPI_APEI && MEMORY_FAILURE
	help
	  Memory errors may be reported via APEI firmware first mode.
	  Turn on this option to enable the memory recovering support.

config ACPI_APEI_EINJ
	tristate "APEI Error INJection (EINJ)"
	depends on ACPI_APEI && DEBUG_FS
	help
	  EINJ provides a hardware error injection mechanism, it is
	  mainly used for debugging and testing the other parts of
	  APEI and some other RAS features.

config ACPI_APEI_ERST_DEBUG
	tristate "APEI Error Record Serialization Table (ERST) Debug Support"
	depends on ACPI_APEI
	help
	  ERST is a way provided by APEI to save and retrieve hardware
	  error information to and from a persistent store. Enable this
	  if you want to debugging and testing the ERST kernel support
	  and firmware implementation.