# Copyright (c) 2020 Intel Corp.
# SPDX-License-Identifier: Apache-2.0
#
# EDAC configuration options

menuconfig EDAC
	bool "Error Detection and Correction (EDAC) Drivers"
	help
	  Enable Error Detection and Correction (EDAC) driver.

if EDAC

config EDAC_ERROR_INJECT
	bool "Enable EDAC Error Injection mechanism"
	help
	  Enable Error injection capability for test error checking
	  and reporting. Should not be enabled in production system.

config EDAC_SHELL
	bool "Enable EDAC Shell"
	depends on SHELL
	default y if SHELL
	help
	  Enable EDAC shell for debugging EDAC.

config EDAC_IBECC
	bool "In-Band ECC (IBECC)"
	depends on X86
	help
	  This option selects In-Band ECC (IBECC) IP support.

module = EDAC
module-str = edac
source "subsys/logging/Kconfig.template.log_config"

endif #EDAC
