The following is the GNU All-permissive License as recommended in

Copyright (C) 2024 Free Software Foundation

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

Contributions are welcome. See

Mapping RAM ECC warnings to the right DIMM

EEC ram warnings on librebooted kgpe-d16 with 4.2.0 kernel:

[32310.838759] [Hardware Error]: Corrected error, no action required.
[32310.838781] [Hardware Error]: CPU:24 (15:1:2) MC4_STATUS[-|CE|MiscV|-|AddrV|-|-|CECC]: 0x9c2c4000f8080a13
[32310.838811] [Hardware Error]: MC4 Error Address: 0x0000003feee4e3f0
[32310.838817] [Hardware Error]: MC4 Error (node 3): DRAM ECC error detected on the NB.
[32310.838841] EDAC MC3: 1 CE on mc#3csrow#1channel#0 (csrow:1 channel:0 page:0x3feee4e offset:0x3f0 grain:0 syndrome:0xf858)
[32310.838846] [Hardware Error]: cache level: L3/GEN, mem/io: MEM, mem-tx: RD, part-proc: RES (no timeout)

This location corresponds to this device in the sysfs (in a 4.2 kernel):

$ cat /sys/devices/system/edac/mc/mc3/rank2/dimm_label

Advice on #coreboot regarding which ram module may be the culprit (see likely correction below):

11:54 < personB> personA: MC 3 CSROW 1 is "memory controller 3" and if you are using dual-rank DIMMs it would be the first DIMM on the channel.  I'd guess slot D1
11:54 < personB> or actually D2, given ASUS flipped the numbers
12:41 < personA> personB: I predict this might corresponds to slot G2. (A/B would correspond to mc0, so G/H would be mc3. channel 0, so G, not H. And slot 2, not 1, because csrow 1 of
                 dual-ranked ram is slot 0 (slot 2 in a kgpe-d16?), so possibly G2.) What do you think?
12:42 < personB> personA: Yes, you are correct.  I was thinking of a different CPU entirely, mea culpa

It seems likely that csrow0/1 is slot 1 and csrow2/3 is slot 2 on the kgpe-d16 when using dual ranked ram. This is being tested at the time of writing.

Other helpful information that may assist in mapping errors to specific ram slots: