Kconfig 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371
  1. #
  2. # EDAC Kconfig
  3. # Copyright (c) 2008 Doug Thompson www.softwarebitmaker.com
  4. # Licensed and distributed under the GPL
  5. #
  6. config EDAC_SUPPORT
  7. bool
  8. menuconfig EDAC
  9. bool "EDAC (Error Detection And Correction) reporting"
  10. depends on HAS_IOMEM
  11. depends on X86 || PPC || TILE || ARM || EDAC_SUPPORT
  12. help
  13. EDAC is designed to report errors in the core system.
  14. These are low-level errors that are reported in the CPU or
  15. supporting chipset or other subsystems:
  16. memory errors, cache errors, PCI errors, thermal throttling, etc..
  17. If unsure, select 'Y'.
  18. If this code is reporting problems on your system, please
  19. see the EDAC project web pages for more information at:
  20. <http://bluesmoke.sourceforge.net/>
  21. and:
  22. <http://buttersideup.com/edacwiki>
  23. There is also a mailing list for the EDAC project, which can
  24. be found via the sourceforge page.
  25. if EDAC
  26. config EDAC_LEGACY_SYSFS
  27. bool "EDAC legacy sysfs"
  28. default y
  29. help
  30. Enable the compatibility sysfs nodes.
  31. Use 'Y' if your edac utilities aren't ported to work with the newer
  32. structures.
  33. config EDAC_DEBUG
  34. bool "Debugging"
  35. help
  36. This turns on debugging information for the entire EDAC subsystem.
  37. You do so by inserting edac_module with "edac_debug_level=x." Valid
  38. levels are 0-4 (from low to high) and by default it is set to 2.
  39. Usually you should select 'N' here.
  40. config EDAC_DECODE_MCE
  41. tristate "Decode MCEs in human-readable form (only on AMD for now)"
  42. depends on CPU_SUP_AMD && X86_MCE_AMD
  43. default y
  44. ---help---
  45. Enable this option if you want to decode Machine Check Exceptions
  46. occurring on your machine in human-readable form.
  47. You should definitely say Y here in case you want to decode MCEs
  48. which occur really early upon boot, before the module infrastructure
  49. has been initialized.
  50. config EDAC_MCE_INJ
  51. tristate "Simple MCE injection interface over /sysfs"
  52. depends on EDAC_DECODE_MCE
  53. default n
  54. help
  55. This is a simple interface to inject MCEs over /sysfs and test
  56. the MCE decoding code in EDAC.
  57. This is currently AMD-only.
  58. config EDAC_MM_EDAC
  59. tristate "Main Memory EDAC (Error Detection And Correction) reporting"
  60. help
  61. Some systems are able to detect and correct errors in main
  62. memory. EDAC can report statistics on memory error
  63. detection and correction (EDAC - or commonly referred to ECC
  64. errors). EDAC will also try to decode where these errors
  65. occurred so that a particular failing memory module can be
  66. replaced. If unsure, select 'Y'.
  67. config EDAC_GHES
  68. bool "Output ACPI APEI/GHES BIOS detected errors via EDAC"
  69. depends on ACPI_APEI_GHES && (EDAC_MM_EDAC=y)
  70. default y
  71. help
  72. Not all machines support hardware-driven error report. Some of those
  73. provide a BIOS-driven error report mechanism via ACPI, using the
  74. APEI/GHES driver. By enabling this option, the error reports provided
  75. by GHES are sent to userspace via the EDAC API.
  76. When this option is enabled, it will disable the hardware-driven
  77. mechanisms, if a GHES BIOS is detected, entering into the
  78. "Firmware First" mode.
  79. It should be noticed that keeping both GHES and a hardware-driven
  80. error mechanism won't work well, as BIOS will race with OS, while
  81. reading the error registers. So, if you want to not use "Firmware
  82. first" GHES error mechanism, you should disable GHES either at
  83. compilation time or by passing "ghes.disable=1" Kernel parameter
  84. at boot time.
  85. In doubt, say 'Y'.
  86. config EDAC_AMD64
  87. tristate "AMD64 (Opteron, Athlon64) K8, F10h"
  88. depends on EDAC_MM_EDAC && AMD_NB && X86_64 && EDAC_DECODE_MCE
  89. help
  90. Support for error detection and correction of DRAM ECC errors on
  91. the AMD64 families of memory controllers (K8 and F10h)
  92. config EDAC_AMD64_ERROR_INJECTION
  93. bool "Sysfs HW Error injection facilities"
  94. depends on EDAC_AMD64
  95. help
  96. Recent Opterons (Family 10h and later) provide for Memory Error
  97. Injection into the ECC detection circuits. The amd64_edac module
  98. allows the operator/user to inject Uncorrectable and Correctable
  99. errors into DRAM.
  100. When enabled, in each of the respective memory controller directories
  101. (/sys/devices/system/edac/mc/mcX), there are 3 input files:
  102. - inject_section (0..3, 16-byte section of 64-byte cacheline),
  103. - inject_word (0..8, 16-bit word of 16-byte section),
  104. - inject_ecc_vector (hex ecc vector: select bits of inject word)
  105. In addition, there are two control files, inject_read and inject_write,
  106. which trigger the DRAM ECC Read and Write respectively.
  107. config EDAC_AMD76X
  108. tristate "AMD 76x (760, 762, 768)"
  109. depends on EDAC_MM_EDAC && PCI && X86_32
  110. help
  111. Support for error detection and correction on the AMD 76x
  112. series of chipsets used with the Athlon processor.
  113. config EDAC_E7XXX
  114. tristate "Intel e7xxx (e7205, e7500, e7501, e7505)"
  115. depends on EDAC_MM_EDAC && PCI && X86_32
  116. help
  117. Support for error detection and correction on the Intel
  118. E7205, E7500, E7501 and E7505 server chipsets.
  119. config EDAC_E752X
  120. tristate "Intel e752x (e7520, e7525, e7320) and 3100"
  121. depends on EDAC_MM_EDAC && PCI && X86 && HOTPLUG
  122. help
  123. Support for error detection and correction on the Intel
  124. E7520, E7525, E7320 server chipsets.
  125. config EDAC_I82443BXGX
  126. tristate "Intel 82443BX/GX (440BX/GX)"
  127. depends on EDAC_MM_EDAC && PCI && X86_32
  128. depends on BROKEN
  129. help
  130. Support for error detection and correction on the Intel
  131. 82443BX/GX memory controllers (440BX/GX chipsets).
  132. config EDAC_I82875P
  133. tristate "Intel 82875p (D82875P, E7210)"
  134. depends on EDAC_MM_EDAC && PCI && X86_32
  135. help
  136. Support for error detection and correction on the Intel
  137. DP82785P and E7210 server chipsets.
  138. config EDAC_I82975X
  139. tristate "Intel 82975x (D82975x)"
  140. depends on EDAC_MM_EDAC && PCI && X86
  141. help
  142. Support for error detection and correction on the Intel
  143. DP82975x server chipsets.
  144. config EDAC_I3000
  145. tristate "Intel 3000/3010"
  146. depends on EDAC_MM_EDAC && PCI && X86
  147. help
  148. Support for error detection and correction on the Intel
  149. 3000 and 3010 server chipsets.
  150. config EDAC_I3200
  151. tristate "Intel 3200"
  152. depends on EDAC_MM_EDAC && PCI && X86
  153. help
  154. Support for error detection and correction on the Intel
  155. 3200 and 3210 server chipsets.
  156. config EDAC_X38
  157. tristate "Intel X38"
  158. depends on EDAC_MM_EDAC && PCI && X86
  159. help
  160. Support for error detection and correction on the Intel
  161. X38 server chipsets.
  162. config EDAC_I5400
  163. tristate "Intel 5400 (Seaburg) chipsets"
  164. depends on EDAC_MM_EDAC && PCI && X86
  165. help
  166. Support for error detection and correction the Intel
  167. i5400 MCH chipset (Seaburg).
  168. config EDAC_I7CORE
  169. tristate "Intel i7 Core (Nehalem) processors"
  170. depends on EDAC_MM_EDAC && PCI && X86 && X86_MCE_INTEL
  171. help
  172. Support for error detection and correction the Intel
  173. i7 Core (Nehalem) Integrated Memory Controller that exists on
  174. newer processors like i7 Core, i7 Core Extreme, Xeon 35xx
  175. and Xeon 55xx processors.
  176. config EDAC_I82860
  177. tristate "Intel 82860"
  178. depends on EDAC_MM_EDAC && PCI && X86_32
  179. help
  180. Support for error detection and correction on the Intel
  181. 82860 chipset.
  182. config EDAC_R82600
  183. tristate "Radisys 82600 embedded chipset"
  184. depends on EDAC_MM_EDAC && PCI && X86_32
  185. help
  186. Support for error detection and correction on the Radisys
  187. 82600 embedded chipset.
  188. config EDAC_I5000
  189. tristate "Intel Greencreek/Blackford chipset"
  190. depends on EDAC_MM_EDAC && X86 && PCI
  191. help
  192. Support for error detection and correction the Intel
  193. Greekcreek/Blackford chipsets.
  194. config EDAC_I5100
  195. tristate "Intel San Clemente MCH"
  196. depends on EDAC_MM_EDAC && X86 && PCI
  197. help
  198. Support for error detection and correction the Intel
  199. San Clemente MCH.
  200. config EDAC_I7300
  201. tristate "Intel Clarksboro MCH"
  202. depends on EDAC_MM_EDAC && X86 && PCI
  203. help
  204. Support for error detection and correction the Intel
  205. Clarksboro MCH (Intel 7300 chipset).
  206. config EDAC_SBRIDGE
  207. tristate "Intel Sandy-Bridge Integrated MC"
  208. depends on EDAC_MM_EDAC && PCI && X86_64 && X86_MCE_INTEL
  209. depends on PCI_MMCONFIG
  210. help
  211. Support for error detection and correction the Intel
  212. Sandy Bridge Integrated Memory Controller.
  213. config EDAC_MPC85XX
  214. tristate "Freescale MPC83xx / MPC85xx"
  215. depends on EDAC_MM_EDAC && FSL_SOC && (PPC_83xx || PPC_85xx)
  216. help
  217. Support for error detection and correction on the Freescale
  218. MPC8349, MPC8560, MPC8540, MPC8548
  219. config EDAC_MV64X60
  220. tristate "Marvell MV64x60"
  221. depends on EDAC_MM_EDAC && MV64X60
  222. help
  223. Support for error detection and correction on the Marvell
  224. MV64360 and MV64460 chipsets.
  225. config EDAC_PASEMI
  226. tristate "PA Semi PWRficient"
  227. depends on EDAC_MM_EDAC && PCI
  228. depends on PPC_PASEMI
  229. help
  230. Support for error detection and correction on PA Semi
  231. PWRficient.
  232. config EDAC_CELL
  233. tristate "Cell Broadband Engine memory controller"
  234. depends on EDAC_MM_EDAC && PPC_CELL_COMMON
  235. help
  236. Support for error detection and correction on the
  237. Cell Broadband Engine internal memory controller
  238. on platform without a hypervisor
  239. config EDAC_PPC4XX
  240. tristate "PPC4xx IBM DDR2 Memory Controller"
  241. depends on EDAC_MM_EDAC && 4xx
  242. help
  243. This enables support for EDAC on the ECC memory used
  244. with the IBM DDR2 memory controller found in various
  245. PowerPC 4xx embedded processors such as the 405EX[r],
  246. 440SP, 440SPe, 460EX, 460GT and 460SX.
  247. config EDAC_AMD8131
  248. tristate "AMD8131 HyperTransport PCI-X Tunnel"
  249. depends on EDAC_MM_EDAC && PCI && PPC_MAPLE
  250. help
  251. Support for error detection and correction on the
  252. AMD8131 HyperTransport PCI-X Tunnel chip.
  253. Note, add more Kconfig dependency if it's adopted
  254. on some machine other than Maple.
  255. config EDAC_AMD8111
  256. tristate "AMD8111 HyperTransport I/O Hub"
  257. depends on EDAC_MM_EDAC && PCI && PPC_MAPLE
  258. help
  259. Support for error detection and correction on the
  260. AMD8111 HyperTransport I/O Hub chip.
  261. Note, add more Kconfig dependency if it's adopted
  262. on some machine other than Maple.
  263. config EDAC_CPC925
  264. tristate "IBM CPC925 Memory Controller (PPC970FX)"
  265. depends on EDAC_MM_EDAC && PPC64
  266. help
  267. Support for error detection and correction on the
  268. IBM CPC925 Bridge and Memory Controller, which is
  269. a companion chip to the PowerPC 970 family of
  270. processors.
  271. config EDAC_TILE
  272. tristate "Tilera Memory Controller"
  273. depends on EDAC_MM_EDAC && TILE
  274. default y
  275. help
  276. Support for error detection and correction on the
  277. Tilera memory controller.
  278. config EDAC_HIGHBANK_MC
  279. tristate "Highbank Memory Controller"
  280. depends on EDAC_MM_EDAC && ARCH_HIGHBANK
  281. help
  282. Support for error detection and correction on the
  283. Calxeda Highbank memory controller.
  284. config EDAC_HIGHBANK_L2
  285. tristate "Highbank L2 Cache"
  286. depends on EDAC_MM_EDAC && ARCH_HIGHBANK
  287. help
  288. Support for error detection and correction on the
  289. Calxeda Highbank memory controller.
  290. config EDAC_OCTEON_PC
  291. tristate "Cavium Octeon Primary Caches"
  292. depends on EDAC_MM_EDAC && CPU_CAVIUM_OCTEON
  293. help
  294. Support for error detection and correction on the primary caches of
  295. the cnMIPS cores of Cavium Octeon family SOCs.
  296. config EDAC_OCTEON_L2C
  297. tristate "Cavium Octeon Secondary Caches (L2C)"
  298. depends on EDAC_MM_EDAC && CPU_CAVIUM_OCTEON
  299. help
  300. Support for error detection and correction on the
  301. Cavium Octeon family of SOCs.
  302. config EDAC_OCTEON_LMC
  303. tristate "Cavium Octeon DRAM Memory Controller (LMC)"
  304. depends on EDAC_MM_EDAC && CPU_CAVIUM_OCTEON
  305. help
  306. Support for error detection and correction on the
  307. Cavium Octeon family of SOCs.
  308. config EDAC_OCTEON_PCI
  309. tristate "Cavium Octeon PCI Controller"
  310. depends on EDAC_MM_EDAC && PCI && CPU_CAVIUM_OCTEON
  311. help
  312. Support for error detection and correction on the
  313. Cavium Octeon family of SOCs.
  314. endif # EDAC