# SPDX-License-Identifier: GPL-2.0
config RAS_CEC
	bool "Correctable Errors Collector"
	depends on X86_MCE && MEMORY_FAILURE && DEBUG_FS
	---help---
	  This is a small cache which collects correctable memory errors per 4K
	  page PFN and counts their repeated occurrence. Once the counter for a
	  PFN overflows, we try to soft-offline that page as we take it to mean
	  that it has reached a relatively high error count and would probably
	  be best if we don't use it anymore.

	  Bear in mind that this is absolutely useless if your platform doesn't
	  have ECC DIMMs and doesn't have DRAM ECC checking enabled in the BIOS.

config RAS_CEC_DEBUG
	bool "CEC debugging machinery"
	default n
	depends on RAS_CEC
	help
	  Add extra files to (debugfs)/ras/cec to test the correctable error
	  collector feature. "pfn" is a writable file that allows user to
	  simulate an error in a particular page frame. "array" is a read-only
	  file that dumps out the current state of all pages logged so far.
