linux/drivers/edac
Yazen Ghannam 75bf2f6478 EDAC, mce_amd: Print IPID and Syndrome on a separate line
Currently, the IPID and Syndrome are printed on the same line as the
Address. There are cases when we can have a valid Syndrome but not a
valid Address.

For example, the MCA_SYND register can be used to hold more detailed
error info that the hardware folks can use. It's not just DRAM ECC
syndromes. There are some error types that aren't related to memory that
may have valid syndromes, like some errors related to links in the Data
Fabric, etc.

In these cases, the IPID and Syndrome are not printed at the same log
level as the rest of the stanza, so users won't see them on the console.

Console:
  [Hardware Error]: CPU:16 (17:1:0) MC22_STATUS[Over|CE|MiscV|-|-|-|-|SyndV|-]: 0xd82000000002080b
  [Hardware Error]: Power, Interrupts, etc. Extended Error Code: 2

Dmesg:
  [Hardware Error]: CPU:16 (17:1:0) MC22_STATUS[Over|CE|MiscV|-|-|-|-|SyndV|-]: 0xd82000000002080b
  , Syndrome: 0x000000010b404000, IPID: 0x0001002e00000002
  [Hardware Error]: Power, Interrupts, etc. Extended Error Code: 2

Print the IPID first and on a new line. The IPID should always be
printed on SMCA systems. The Syndrome will then be printed with the IPID
and at the same log level when valid:

  [Hardware Error]: CPU:16 (17:1:0) MC22_STATUS[Over|CE|MiscV|-|-|-|-|SyndV|-]: 0xd82000000002080b
  [Hardware Error]: IPID: 0x0001002e00000002, Syndrome: 0x000000010b404000
  [Hardware Error]: Power, Interrupts, etc. Extended Error Code: 2

Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Link: http://lkml.kernel.org/r/1487192182-2474-1-git-send-email-Yazen.Ghannam@amd.com
Signed-off-by: Borislav Petkov <bp@suse.de>
2017-02-16 15:39:32 +01:00
..
altera_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -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
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 EDAC: Rip out the edac_subsys reference counting 2015-12-11 16:56:39 +01: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 edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02: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: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02: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: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02: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 * Altera Arria10 enablement of NAND, DMA, USB, QSPI and SD-MMC FIFO 2016-10-04 12:06:26 -07:00
layerscape_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
Makefile * Altera Arria10 enablement of NAND, DMA, USB, QSPI and SD-MMC FIFO 2016-10-04 12:06:26 -07:00
mce_amd.c EDAC, mce_amd: Print IPID and Syndrome on a separate line 2017-02-16 15:39:32 +01:00
mce_amd.h x86, mce, severity: Extend the the mce_severity mechanism to handle UCNA/DEFERRED error 2014-11-19 10:55:43 -08: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
ppc4xx_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
ppc4xx_edac.h
r82600_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
sb_edac.c EDAC, sb_edac: Get rid of ->show_interleave_mode() 2017-01-23 11:39:48 +01:00
skx_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00
synopsys_edac.c edac: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -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: rename edac_core.h to edac_mc.h 2016-12-15 08:54:51 -02:00