linux/drivers/edac
Borislav Petkov db47d5f856 x86/nmi, EDAC: Get rid of DRAM error reporting thru PCI SERR NMI
Apparently, some machines used to report DRAM errors through a PCI SERR
NMI. This is why we have a call into EDAC in the NMI handler. See

  c0d1217202 ("drivers/edac: add new nmi rescan").

From looking at the patch above, that's two drivers: e752x_edac.c and
e7xxx_edac.c. Now, I wanna say those are old machines which are probably
decommissioned already.

Tony says that "[t]the newest CPU supported by either of those drivers
is the Xeon E7520 (a.k.a. "Nehalem") released in Q1'2010. Possibly some
folks are still using these ... but people that hold onto h/w for 7
years generally cling to old s/w too ... so I'd guess it unlikely that
we will get complaints for breaking these in upstream."

So even if there is a small number still in use, we did load EDAC with
edac_op_state == EDAC_OPSTATE_POLL by default (we still do, in fact)
which means a default EDAC setup without any parameters supplied on the
command line or otherwise would never even log the error in the NMI
handler because we're polling by default:

  inline int edac_handler_set(void)
  {
         if (edac_op_state == EDAC_OPSTATE_POLL)
                 return 0;

         return atomic_read(&edac_handlers);
  }

So, long story short, I'd like to get rid of that nastiness called
edac_stub.c and confine all the EDAC drivers solely to drivers/edac/. If
we ever have to do stuff like that again, it should be notifiers we're
using and not some insanity like this one.

Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
2017-04-10 17:13:48 +02:00
..
altera_edac.c EDAC, altera: Fix peripheral warnings for Cyclone5 2017-04-06 11:42:38 +02:00
altera_edac.h EDAC, altera: Rename device trigger to common name 2016-09-01 08:55:24 +02:00
amd64_edac_dbg.c EDAC: amd64: Use static attribute groups 2015-02-23 13:08:09 +01:00
amd64_edac_inj.c EDAC: amd64: Use static attribute groups 2015-02-23 13:08:09 +01:00
amd64_edac.c EDAC, amd64: Add x86cpuid sanity check during init 2017-01-28 14:43:06 +01:00
amd64_edac.h EDAC, amd64: Bump driver version 2017-02-14 11:58:05 +01:00
amd76x_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
amd8111_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
amd8111_edac.h edac: AMD8111 driver header file 2009-04-02 19:05:03 -07:00
amd8131_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
amd8131_edac.h tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
cell_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
cpc925_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
debugfs.c EDAC: Use edac_debugfs_remove_recursive() in edac_debugfs_exit() 2016-02-10 10:37:46 +01:00
e7xxx_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
e752x_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
edac_device_sysfs.c edac: move EDAC device definitions to drivers/edac/edac_device.h 2016-12-15 08:54:51 -02:00
edac_device.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
edac_device.h edac: move documentation from edac_device to edac_core.h 2016-12-15 08:54:51 -02:00
edac_mc_sysfs.c EDAC: Expose per-DIMM error counts in sysfs 2017-01-19 10:29:40 +01:00
edac_mc.c EDAC: Add routine to check if MC devices list is empty 2017-01-28 14:36:47 +01:00
edac_mc.h EDAC: Add routine to check if MC devices list is empty 2017-01-28 14:36:47 +01:00
edac_module.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
edac_module.h edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
edac_pci_sysfs.c edac: move documentation from edac_pci*.c to edac_pci.h 2016-12-15 08:54:51 -02:00
edac_pci.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
edac_pci.h edac: move documentation from edac_pci*.c to edac_pci.h 2016-12-15 08:54:51 -02:00
edac_stub.c x86/nmi, EDAC: Get rid of DRAM error reporting thru PCI SERR NMI 2017-04-10 17:13:48 +02:00
fsl_ddr_edac.c EDAC, fsl_ddr: Make locally used symbols static 2017-02-09 17:40:54 +01:00
fsl_ddr_edac.h EDAC, fsl_ddr: Add missing DDR DRAM types 2016-09-01 10:28:01 +02:00
ghes_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
highbank_l2_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
highbank_mc_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
i7core_edac.c x86/ras, EDAC, acpi: Assign MCE notifier handlers a priority 2017-01-24 09:14:57 +01:00
i3000_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
i3200_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
i5000_edac.c EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro 2017-03-09 09:25:29 +01:00
i5100_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
i5400_edac.c EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro 2017-03-09 09:25:29 +01:00
i7300_edac.c EDAC, i7300: Test for the second channel properly 2017-01-26 11:35:23 +01:00
i82443bxgx_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
i82860_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
i82875p_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
i82975x_edac.c EDAC, i82975x: Add ioremap_nocache() error handling 2017-01-16 11:09:22 +01:00
ie31200_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
Kconfig EDAC, thunderx: Add Cavium ThunderX EDAC driver 2017-03-27 11:43:56 +02:00
layerscape_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
Makefile EDAC, highbank: Align Makefile directives 2017-04-10 17:10:43 +02:00
mce_amd.c Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 12:47:44 -08:00
mce_amd.h EDAC/mce/amd: Unexport amd_decode_mce() 2017-01-24 09:14:55 +01:00
mpc85xx_edac.c EDAC, mpc85xx: Add T2080 l2-cache support 2017-02-03 10:36:35 +01:00
mpc85xx_edac.h EDAC, fsl-ddr: Separate FSL DDR driver from MPC85xx 2016-09-01 10:28:00 +02:00
mv64x60_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
mv64x60_edac.h edac: Drop __DATE__ usage 2011-04-19 00:23:22 +02:00
octeon_edac-l2c.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
octeon_edac-lmc.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
octeon_edac-pc.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
octeon_edac-pci.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
pasemi_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
pnd2_edac.c EDAC, pnd2_edac: Fix reported DIMM number 2017-03-26 09:36:28 +02:00
pnd2_edac.h EDAC, pnd2_edac: Add new EDAC driver for Intel SoC platforms 2017-03-16 12:40:52 +01:00
ppc4xx_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
ppc4xx_edac.h edac: new ppc4xx driver module 2009-04-02 19:05:03 -07:00
r82600_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
sb_edac.c Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 12:47:44 -08:00
skx_edac.c x86/ras, EDAC, acpi: Assign MCE notifier handlers a priority 2017-01-24 09:14:57 +01:00
synopsys_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
thunderx_edac.c EDAC, thunderx: Remove unused code 2017-04-07 11:49:32 +02:00
tile_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
wq.c EDAC, wq: Remove deprecated create_singlethread_workqueue() 2016-08-15 07:21:29 +02:00
x38_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
xgene_edac.c EDAC, xgene: Fix wrongly spelled "procesing" 2017-03-06 17:08:19 +01:00