ID:451 - Modify the memory ecc error display of SEL for new supermicro motherboards.

This commit is contained in:
KC Li 2016-07-25 11:36:08 +08:00 committed by Zdenek Styblik
parent a3bec1d365
commit fcf7445bce
2 changed files with 45 additions and 0 deletions

View File

@ -34,6 +34,18 @@
#ifndef IPMI_SEL_SUPERMICRO_H
# define IPMI_SEL_SUPERMICRO_H
static uint16_t supermicro_x10OBi[] = {
0x0923, 0xFFFF
};
static uint16_t supermicro_x10QRH_X10QBL[] = {
0x0872, 0x0853, 0xFFFF
};
static uint16_t supermicro_brickland[] = {
0x0726, 0x083A, 0xFFFF
};
static uint16_t supermicro_x9dal[] = {
0x0635, 0xFFFF
};

View File

@ -620,6 +620,24 @@ get_supermicro_evt_desc(struct ipmi_intf *intf, struct sel_event_record *rec)
break;
}
}
for (i = 0; supermicro_brickland[i] != 0xFFFF; i++) {
if (oem_id == supermicro_brickland[i]) {
chipset_type = 3;
break;
}
}
for (i = 0; supermicro_x10QRH_X10QBL[i] != 0xFFFF; i++) {
if (oem_id == supermicro_x10QRH_X10QBL[i]) {
chipset_type = 4;
break;
}
}
for (i = 0; supermicro_x10OBi[i] != 0xFFFF; i++) {
if (oem_id == supermicro_x10OBi[i]) {
chipset_type = 5;
break;
}
}
if (chipset_type == 0) {
snprintf(desc, SIZE_OF_DESC, "@DIMM%2X(CPU%x)",
data2,
@ -632,6 +650,21 @@ get_supermicro_evt_desc(struct ipmi_intf *intf, struct sel_event_record *rec)
snprintf(desc, SIZE_OF_DESC, "@DIMM%c%c(CPU%x)",
(data2 >> 4) + 0x40 + (data3 & 0x3) * 3,
(data2 & 0xf) + 0x27, (data3 & 0x03) + 1);
} else if (chipset_type == 3) {
snprintf(desc, SIZE_OF_DESC, "@DIMM%c%d(P%dM%d)",
((data2 & 0xf) >> 4) > 4
? '@' - 4 + ((data2 & 0xff) >> 4)
: '@' + ((data2 & 0xff) >> 4),
(data2 & 0xf) - 0x09, (data3 & 0x0f) + 1,
(data2 & 0xff) >> 4 > 4 ? 2 : 1);
} else if (chipset_type == 4) {
snprintf(desc, SIZE_OF_DESC, "@DIMM%c%c(CPU%x)",
(data2 >> 4) + 0x40,
(data2 & 0xf) + 0x27, (data3 & 0x03) + 1);
} else if (chipset_type == 5) {
snprintf(desc, SIZE_OF_DESC, "@DIMM%c%c(CPU%x)",
(data2 >> 4) + 0x40,
(data2 & 0xf) + 0x27, (data3 & 0x07) + 1);
} else {
/* No description. */
desc[0] = '\0';