EDAC, MCE: Add F15h FP MCE decoder
Add decoder for FP MCEs. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
This commit is contained in:
parent
8259a7e572
commit
b8f85c477b
1 changed files with 44 additions and 0 deletions
|
@ -692,6 +692,46 @@ wrong_fr_mce:
|
|||
pr_emerg(HW_ERR "Corrupted FR MCE info?\n");
|
||||
}
|
||||
|
||||
static void amd_decode_fp_mce(struct mce *m)
|
||||
{
|
||||
u8 xec = (m->status >> 16) & xec_mask;
|
||||
|
||||
pr_emerg(HW_ERR "Floating Point Unit Error: ");
|
||||
|
||||
switch (xec) {
|
||||
case 0x1:
|
||||
pr_cont("Free List");
|
||||
break;
|
||||
|
||||
case 0x2:
|
||||
pr_cont("Physical Register File");
|
||||
break;
|
||||
|
||||
case 0x3:
|
||||
pr_cont("Retire Queue");
|
||||
break;
|
||||
|
||||
case 0x4:
|
||||
pr_cont("Scheduler table");
|
||||
break;
|
||||
|
||||
case 0x5:
|
||||
pr_cont("Status Register File");
|
||||
break;
|
||||
|
||||
default:
|
||||
goto wrong_fp_mce;
|
||||
break;
|
||||
}
|
||||
|
||||
pr_cont(" parity error.\n");
|
||||
|
||||
return;
|
||||
|
||||
wrong_fp_mce:
|
||||
pr_emerg(HW_ERR "Corrupted FP MCE info?\n");
|
||||
}
|
||||
|
||||
static inline void amd_decode_err_code(u16 ec)
|
||||
{
|
||||
if (TLB_ERROR(ec)) {
|
||||
|
@ -777,6 +817,10 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data)
|
|||
amd_decode_fr_mce(m);
|
||||
break;
|
||||
|
||||
case 6:
|
||||
amd_decode_fp_mce(m);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue