Back to home page

OSCL-LXR

 
 

    


0001 #
0002 #       EDAC Kconfig
0003 #       Copyright (c) 2008 Doug Thompson www.softwarebitmaker.com
0004 #       Licensed and distributed under the GPL
0005 
0006 config EDAC_ATOMIC_SCRUB
0007         bool
0008 
0009 config EDAC_SUPPORT
0010         bool
0011 
0012 menuconfig EDAC
0013         tristate "EDAC (Error Detection And Correction) reporting"
0014         depends on HAS_IOMEM && EDAC_SUPPORT && RAS
0015         help
0016           EDAC is a subsystem along with hardware-specific drivers designed to
0017           report hardware errors. These are low-level errors that are reported
0018           in the CPU or supporting chipset or other subsystems:
0019           memory errors, cache errors, PCI errors, thermal throttling, etc..
0020           If unsure, select 'Y'.
0021 
0022           The mailing list for the EDAC project is linux-edac@vger.kernel.org.
0023 
0024 if EDAC
0025 
0026 config EDAC_LEGACY_SYSFS
0027         bool "EDAC legacy sysfs"
0028         default y
0029         help
0030           Enable the compatibility sysfs nodes.
0031           Use 'Y' if your edac utilities aren't ported to work with the newer
0032           structures.
0033 
0034 config EDAC_DEBUG
0035         bool "Debugging"
0036         select DEBUG_FS
0037         help
0038           This turns on debugging information for the entire EDAC subsystem.
0039           You do so by inserting edac_module with "edac_debug_level=x." Valid
0040           levels are 0-4 (from low to high) and by default it is set to 2.
0041           Usually you should select 'N' here.
0042 
0043 config EDAC_DECODE_MCE
0044         tristate "Decode MCEs in human-readable form (only on AMD for now)"
0045         depends on CPU_SUP_AMD && X86_MCE_AMD
0046         default y
0047         help
0048           Enable this option if you want to decode Machine Check Exceptions
0049           occurring on your machine in human-readable form.
0050 
0051           You should definitely say Y here in case you want to decode MCEs
0052           which occur really early upon boot, before the module infrastructure
0053           has been initialized.
0054 
0055 config EDAC_GHES
0056         bool "Output ACPI APEI/GHES BIOS detected errors via EDAC"
0057         depends on ACPI_APEI_GHES && (EDAC=y)
0058         select UEFI_CPER
0059         help
0060           Not all machines support hardware-driven error report. Some of those
0061           provide a BIOS-driven error report mechanism via ACPI, using the
0062           APEI/GHES driver. By enabling this option, the error reports provided
0063           by GHES are sent to userspace via the EDAC API.
0064 
0065           When this option is enabled, it will disable the hardware-driven
0066           mechanisms, if a GHES BIOS is detected, entering into the
0067           "Firmware First" mode.
0068 
0069           It should be noticed that keeping both GHES and a hardware-driven
0070           error mechanism won't work well, as BIOS will race with OS, while
0071           reading the error registers. So, if you want to not use "Firmware
0072           first" GHES error mechanism, you should disable GHES either at
0073           compilation time or by passing "ghes.disable=1" Kernel parameter
0074           at boot time.
0075 
0076           In doubt, say 'Y'.
0077 
0078 config EDAC_AMD64
0079         tristate "AMD64 (Opteron, Athlon64)"
0080         depends on AMD_NB && EDAC_DECODE_MCE
0081         help
0082           Support for error detection and correction of DRAM ECC errors on
0083           the AMD64 families (>= K8) of memory controllers.
0084 
0085           When EDAC_DEBUG is enabled, hardware error injection facilities
0086           through sysfs are available:
0087 
0088           AMD CPUs up to and excluding family 0x17 provide for Memory
0089           Error Injection into the ECC detection circuits. The amd64_edac
0090           module allows the operator/user to inject Uncorrectable and
0091           Correctable errors into DRAM.
0092 
0093           When enabled, in each of the respective memory controller directories
0094           (/sys/devices/system/edac/mc/mcX), there are 3 input files:
0095 
0096           - inject_section (0..3, 16-byte section of 64-byte cacheline),
0097           - inject_word (0..8, 16-bit word of 16-byte section),
0098           - inject_ecc_vector (hex ecc vector: select bits of inject word)
0099 
0100           In addition, there are two control files, inject_read and inject_write,
0101           which trigger the DRAM ECC Read and Write respectively.
0102 
0103 config EDAC_AL_MC
0104         tristate "Amazon's Annapurna Lab Memory Controller"
0105         depends on (ARCH_ALPINE || COMPILE_TEST)
0106         help
0107           Support for error detection and correction for Amazon's Annapurna
0108           Labs Alpine chips which allow 1 bit correction and 2 bits detection.
0109 
0110 config EDAC_AMD76X
0111         tristate "AMD 76x (760, 762, 768)"
0112         depends on PCI && X86_32
0113         help
0114           Support for error detection and correction on the AMD 76x
0115           series of chipsets used with the Athlon processor.
0116 
0117 config EDAC_E7XXX
0118         tristate "Intel e7xxx (e7205, e7500, e7501, e7505)"
0119         depends on PCI && X86_32
0120         help
0121           Support for error detection and correction on the Intel
0122           E7205, E7500, E7501 and E7505 server chipsets.
0123 
0124 config EDAC_E752X
0125         tristate "Intel e752x (e7520, e7525, e7320) and 3100"
0126         depends on PCI && X86
0127         help
0128           Support for error detection and correction on the Intel
0129           E7520, E7525, E7320 server chipsets.
0130 
0131 config EDAC_I82443BXGX
0132         tristate "Intel 82443BX/GX (440BX/GX)"
0133         depends on PCI && X86_32
0134         depends on BROKEN
0135         help
0136           Support for error detection and correction on the Intel
0137           82443BX/GX memory controllers (440BX/GX chipsets).
0138 
0139 config EDAC_I82875P
0140         tristate "Intel 82875p (D82875P, E7210)"
0141         depends on PCI && X86_32
0142         help
0143           Support for error detection and correction on the Intel
0144           DP82785P and E7210 server chipsets.
0145 
0146 config EDAC_I82975X
0147         tristate "Intel 82975x (D82975x)"
0148         depends on PCI && X86
0149         help
0150           Support for error detection and correction on the Intel
0151           DP82975x server chipsets.
0152 
0153 config EDAC_I3000
0154         tristate "Intel 3000/3010"
0155         depends on PCI && X86
0156         help
0157           Support for error detection and correction on the Intel
0158           3000 and 3010 server chipsets.
0159 
0160 config EDAC_I3200
0161         tristate "Intel 3200"
0162         depends on PCI && X86
0163         help
0164           Support for error detection and correction on the Intel
0165           3200 and 3210 server chipsets.
0166 
0167 config EDAC_IE31200
0168         tristate "Intel e312xx"
0169         depends on PCI && X86
0170         help
0171           Support for error detection and correction on the Intel
0172           E3-1200 based DRAM controllers.
0173 
0174 config EDAC_X38
0175         tristate "Intel X38"
0176         depends on PCI && X86
0177         help
0178           Support for error detection and correction on the Intel
0179           X38 server chipsets.
0180 
0181 config EDAC_I5400
0182         tristate "Intel 5400 (Seaburg) chipsets"
0183         depends on PCI && X86
0184         help
0185           Support for error detection and correction the Intel
0186           i5400 MCH chipset (Seaburg).
0187 
0188 config EDAC_I7CORE
0189         tristate "Intel i7 Core (Nehalem) processors"
0190         depends on PCI && X86 && X86_MCE_INTEL
0191         help
0192           Support for error detection and correction the Intel
0193           i7 Core (Nehalem) Integrated Memory Controller that exists on
0194           newer processors like i7 Core, i7 Core Extreme, Xeon 35xx
0195           and Xeon 55xx processors.
0196 
0197 config EDAC_I82860
0198         tristate "Intel 82860"
0199         depends on PCI && X86_32
0200         help
0201           Support for error detection and correction on the Intel
0202           82860 chipset.
0203 
0204 config EDAC_R82600
0205         tristate "Radisys 82600 embedded chipset"
0206         depends on PCI && X86_32
0207         help
0208           Support for error detection and correction on the Radisys
0209           82600 embedded chipset.
0210 
0211 config EDAC_I5000
0212         tristate "Intel Greencreek/Blackford chipset"
0213         depends on X86 && PCI
0214         help
0215           Support for error detection and correction the Intel
0216           Greekcreek/Blackford chipsets.
0217 
0218 config EDAC_I5100
0219         tristate "Intel San Clemente MCH"
0220         depends on X86 && PCI
0221         help
0222           Support for error detection and correction the Intel
0223           San Clemente MCH.
0224 
0225 config EDAC_I7300
0226         tristate "Intel Clarksboro MCH"
0227         depends on X86 && PCI
0228         help
0229           Support for error detection and correction the Intel
0230           Clarksboro MCH (Intel 7300 chipset).
0231 
0232 config EDAC_SBRIDGE
0233         tristate "Intel Sandy-Bridge/Ivy-Bridge/Haswell Integrated MC"
0234         depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG
0235         help
0236           Support for error detection and correction the Intel
0237           Sandy Bridge, Ivy Bridge and Haswell Integrated Memory Controllers.
0238 
0239 config EDAC_SKX
0240         tristate "Intel Skylake server Integrated MC"
0241         depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG && ACPI
0242         depends on ACPI_NFIT || !ACPI_NFIT # if ACPI_NFIT=m, EDAC_SKX can't be y
0243         select DMI
0244         select ACPI_ADXL
0245         help
0246           Support for error detection and correction the Intel
0247           Skylake server Integrated Memory Controllers. If your
0248           system has non-volatile DIMMs you should also manually
0249           select CONFIG_ACPI_NFIT.
0250 
0251 config EDAC_I10NM
0252         tristate "Intel 10nm server Integrated MC"
0253         depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG && ACPI
0254         depends on ACPI_NFIT || !ACPI_NFIT # if ACPI_NFIT=m, EDAC_I10NM can't be y
0255         select DMI
0256         select ACPI_ADXL
0257         help
0258           Support for error detection and correction the Intel
0259           10nm server Integrated Memory Controllers. If your
0260           system has non-volatile DIMMs you should also manually
0261           select CONFIG_ACPI_NFIT.
0262 
0263 config EDAC_PND2
0264         tristate "Intel Pondicherry2"
0265         depends on PCI && X86_64 && X86_MCE_INTEL
0266         select P2SB if X86
0267         help
0268           Support for error detection and correction on the Intel
0269           Pondicherry2 Integrated Memory Controller. This SoC IP is
0270           first used on the Apollo Lake platform and Denverton
0271           micro-server but may appear on others in the future.
0272 
0273 config EDAC_IGEN6
0274         tristate "Intel client SoC Integrated MC"
0275         depends on PCI && PCI_MMCONFIG && ARCH_HAVE_NMI_SAFE_CMPXCHG
0276         depends on X86_64 && X86_MCE_INTEL
0277         help
0278           Support for error detection and correction on the Intel
0279           client SoC Integrated Memory Controller using In-Band ECC IP.
0280           This In-Band ECC is first used on the Elkhart Lake SoC but
0281           may appear on others in the future.
0282 
0283 config EDAC_MPC85XX
0284         bool "Freescale MPC83xx / MPC85xx"
0285         depends on FSL_SOC && EDAC=y
0286         help
0287           Support for error detection and correction on the Freescale
0288           MPC8349, MPC8560, MPC8540, MPC8548, T4240
0289 
0290 config EDAC_LAYERSCAPE
0291         tristate "Freescale Layerscape DDR"
0292         depends on ARCH_LAYERSCAPE || SOC_LS1021A
0293         help
0294           Support for error detection and correction on Freescale memory
0295           controllers on Layerscape SoCs.
0296 
0297 config EDAC_PASEMI
0298         tristate "PA Semi PWRficient"
0299         depends on PPC_PASEMI && PCI
0300         help
0301           Support for error detection and correction on PA Semi
0302           PWRficient.
0303 
0304 config EDAC_CELL
0305         tristate "Cell Broadband Engine memory controller"
0306         depends on PPC_CELL_COMMON
0307         help
0308           Support for error detection and correction on the
0309           Cell Broadband Engine internal memory controller
0310           on platform without a hypervisor
0311 
0312 config EDAC_PPC4XX
0313         tristate "PPC4xx IBM DDR2 Memory Controller"
0314         depends on 4xx
0315         help
0316           This enables support for EDAC on the ECC memory used
0317           with the IBM DDR2 memory controller found in various
0318           PowerPC 4xx embedded processors such as the 405EX[r],
0319           440SP, 440SPe, 460EX, 460GT and 460SX.
0320 
0321 config EDAC_AMD8131
0322         tristate "AMD8131 HyperTransport PCI-X Tunnel"
0323         depends on PCI && PPC_MAPLE
0324         help
0325           Support for error detection and correction on the
0326           AMD8131 HyperTransport PCI-X Tunnel chip.
0327           Note, add more Kconfig dependency if it's adopted
0328           on some machine other than Maple.
0329 
0330 config EDAC_AMD8111
0331         tristate "AMD8111 HyperTransport I/O Hub"
0332         depends on PCI && PPC_MAPLE
0333         help
0334           Support for error detection and correction on the
0335           AMD8111 HyperTransport I/O Hub chip.
0336           Note, add more Kconfig dependency if it's adopted
0337           on some machine other than Maple.
0338 
0339 config EDAC_CPC925
0340         tristate "IBM CPC925 Memory Controller (PPC970FX)"
0341         depends on PPC64
0342         help
0343           Support for error detection and correction on the
0344           IBM CPC925 Bridge and Memory Controller, which is
0345           a companion chip to the PowerPC 970 family of
0346           processors.
0347 
0348 config EDAC_HIGHBANK_MC
0349         tristate "Highbank Memory Controller"
0350         depends on ARCH_HIGHBANK
0351         help
0352           Support for error detection and correction on the
0353           Calxeda Highbank memory controller.
0354 
0355 config EDAC_HIGHBANK_L2
0356         tristate "Highbank L2 Cache"
0357         depends on ARCH_HIGHBANK
0358         help
0359           Support for error detection and correction on the
0360           Calxeda Highbank memory controller.
0361 
0362 config EDAC_OCTEON_PC
0363         tristate "Cavium Octeon Primary Caches"
0364         depends on CPU_CAVIUM_OCTEON
0365         help
0366           Support for error detection and correction on the primary caches of
0367           the cnMIPS cores of Cavium Octeon family SOCs.
0368 
0369 config EDAC_OCTEON_L2C
0370         tristate "Cavium Octeon Secondary Caches (L2C)"
0371         depends on CAVIUM_OCTEON_SOC
0372         help
0373           Support for error detection and correction on the
0374           Cavium Octeon family of SOCs.
0375 
0376 config EDAC_OCTEON_LMC
0377         tristate "Cavium Octeon DRAM Memory Controller (LMC)"
0378         depends on CAVIUM_OCTEON_SOC
0379         help
0380           Support for error detection and correction on the
0381           Cavium Octeon family of SOCs.
0382 
0383 config EDAC_OCTEON_PCI
0384         tristate "Cavium Octeon PCI Controller"
0385         depends on PCI && CAVIUM_OCTEON_SOC
0386         help
0387           Support for error detection and correction on the
0388           Cavium Octeon family of SOCs.
0389 
0390 config EDAC_THUNDERX
0391         tristate "Cavium ThunderX EDAC"
0392         depends on ARM64
0393         depends on PCI
0394         help
0395           Support for error detection and correction on the
0396           Cavium ThunderX memory controllers (LMC), Cache
0397           Coherent Processor Interconnect (CCPI) and L2 cache
0398           blocks (TAD, CBC, MCI).
0399 
0400 config EDAC_ALTERA
0401         bool "Altera SOCFPGA ECC"
0402         depends on EDAC=y && ARCH_INTEL_SOCFPGA
0403         help
0404           Support for error detection and correction on the
0405           Altera SOCs. This is the global enable for the
0406           various Altera peripherals.
0407 
0408 config EDAC_ALTERA_SDRAM
0409         bool "Altera SDRAM ECC"
0410         depends on EDAC_ALTERA=y
0411         help
0412           Support for error detection and correction on the
0413           Altera SDRAM Memory for Altera SoCs. Note that the
0414           preloader must initialize the SDRAM before loading
0415           the kernel.
0416 
0417 config EDAC_ALTERA_L2C
0418         bool "Altera L2 Cache ECC"
0419         depends on EDAC_ALTERA=y && CACHE_L2X0
0420         help
0421           Support for error detection and correction on the
0422           Altera L2 cache Memory for Altera SoCs. This option
0423           requires L2 cache.
0424 
0425 config EDAC_ALTERA_OCRAM
0426         bool "Altera On-Chip RAM ECC"
0427         depends on EDAC_ALTERA=y && SRAM && GENERIC_ALLOCATOR
0428         help
0429           Support for error detection and correction on the
0430           Altera On-Chip RAM Memory for Altera SoCs.
0431 
0432 config EDAC_ALTERA_ETHERNET
0433         bool "Altera Ethernet FIFO ECC"
0434         depends on EDAC_ALTERA=y
0435         help
0436           Support for error detection and correction on the
0437           Altera Ethernet FIFO Memory for Altera SoCs.
0438 
0439 config EDAC_ALTERA_NAND
0440         bool "Altera NAND FIFO ECC"
0441         depends on EDAC_ALTERA=y && MTD_NAND_DENALI
0442         help
0443           Support for error detection and correction on the
0444           Altera NAND FIFO Memory for Altera SoCs.
0445 
0446 config EDAC_ALTERA_DMA
0447         bool "Altera DMA FIFO ECC"
0448         depends on EDAC_ALTERA=y && PL330_DMA=y
0449         help
0450           Support for error detection and correction on the
0451           Altera DMA FIFO Memory for Altera SoCs.
0452 
0453 config EDAC_ALTERA_USB
0454         bool "Altera USB FIFO ECC"
0455         depends on EDAC_ALTERA=y && USB_DWC2
0456         help
0457           Support for error detection and correction on the
0458           Altera USB FIFO Memory for Altera SoCs.
0459 
0460 config EDAC_ALTERA_QSPI
0461         bool "Altera QSPI FIFO ECC"
0462         depends on EDAC_ALTERA=y && SPI_CADENCE_QUADSPI
0463         help
0464           Support for error detection and correction on the
0465           Altera QSPI FIFO Memory for Altera SoCs.
0466 
0467 config EDAC_ALTERA_SDMMC
0468         bool "Altera SDMMC FIFO ECC"
0469         depends on EDAC_ALTERA=y && MMC_DW
0470         help
0471           Support for error detection and correction on the
0472           Altera SDMMC FIFO Memory for Altera SoCs.
0473 
0474 config EDAC_SIFIVE
0475         bool "Sifive platform EDAC driver"
0476         depends on EDAC=y && SIFIVE_L2
0477         help
0478           Support for error detection and correction on the SiFive SoCs.
0479 
0480 config EDAC_ARMADA_XP
0481         bool "Marvell Armada XP DDR and L2 Cache ECC"
0482         depends on MACH_MVEBU_V7
0483         help
0484           Support for error correction and detection on the Marvell Aramada XP
0485           DDR RAM and L2 cache controllers.
0486 
0487 config EDAC_SYNOPSYS
0488         tristate "Synopsys DDR Memory Controller"
0489         depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || ARCH_MXC
0490         help
0491           Support for error detection and correction on the Synopsys DDR
0492           memory controller.
0493 
0494 config EDAC_XGENE
0495         tristate "APM X-Gene SoC"
0496         depends on (ARM64 || COMPILE_TEST)
0497         help
0498           Support for error detection and correction on the
0499           APM X-Gene family of SOCs.
0500 
0501 config EDAC_TI
0502         tristate "Texas Instruments DDR3 ECC Controller"
0503         depends on ARCH_KEYSTONE || SOC_DRA7XX
0504         help
0505           Support for error detection and correction on the TI SoCs.
0506 
0507 config EDAC_QCOM
0508         tristate "QCOM EDAC Controller"
0509         depends on ARCH_QCOM && QCOM_LLCC
0510         help
0511           Support for error detection and correction on the
0512           Qualcomm Technologies, Inc. SoCs.
0513 
0514           This driver reports Single Bit Errors (SBEs) and Double Bit Errors (DBEs).
0515           As of now, it supports error reporting for Last Level Cache Controller (LLCC)
0516           of Tag RAM and Data RAM.
0517 
0518           For debugging issues having to do with stability and overall system
0519           health, you should probably say 'Y' here.
0520 
0521 config EDAC_ASPEED
0522         tristate "Aspeed AST BMC SoC"
0523         depends on ARCH_ASPEED
0524         help
0525           Support for error detection and correction on the Aspeed AST BMC SoC.
0526 
0527           First, ECC must be configured in the bootloader. Then, this driver
0528           will expose error counters via the EDAC kernel framework.
0529 
0530 config EDAC_BLUEFIELD
0531         tristate "Mellanox BlueField Memory ECC"
0532         depends on ARM64 && ((MELLANOX_PLATFORM && ACPI) || COMPILE_TEST)
0533         help
0534           Support for error detection and correction on the
0535           Mellanox BlueField SoCs.
0536 
0537 config EDAC_DMC520
0538         tristate "ARM DMC-520 ECC"
0539         depends on ARM64
0540         help
0541           Support for error detection and correction on the
0542           SoCs with ARM DMC-520 DRAM controller.
0543 
0544 endif # EDAC