Messages in this thread Patch in this message | | | Date | Mon, 4 Jul 2022 11:13:56 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH 3/3] EDAC/mce_amd: Add support for FRU Text in MCA |
| |
On Mon, Apr 18, 2022 at 05:44:40PM +0000, Yazen Ghannam wrote: > @@ -1254,11 +1255,10 @@ amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) > ((m->status & MCI_STATUS_PCC) ? "PCC" : "-")); > > if (boot_cpu_has(X86_FEATURE_SMCA)) { > - u32 low, high; > u32 addr = MSR_AMD64_SMCA_MCx_CONFIG(m->bank); > > - if (!rdmsr_safe(addr, &low, &high) && > - (low & MCI_CONFIG_MCAX)) > + if (!rdmsrl_safe_on_cpu(m->extcpu, addr, &mca_config) &&
This change needs to be mentioned in the commit message.
> + (mca_config & MCI_CONFIG_MCAX)) > pr_cont("|%s", ((m->status & MCI_STATUS_TCC) ? "TCC" : "-")); > > pr_cont("|%s", ((m->status & MCI_STATUS_SYNDV) ? "SyndV" : "-")); > @@ -1300,6 +1300,17 @@ amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) > pr_cont("\n");
So here above the code prints SYND1 and SYND2.
If they contain FRU strings, then this printing should be an if-else by checking bit 9.
if (BIT(9)) print fru text else print naked syndromes
> decode_smca_error(m); > + > + if (mca_config & BIT(9)) { > + char frutext[32];
Why 32? > + memset(frutext, 0, sizeof(frutext)); > + memcpy(&frutext[0], &m->synd1, 8); > + memcpy(&frutext[8], &m->synd2, 8); > + > + pr_emerg(HW_ERR "FRU Text: %s\n", frutext); > + } > + > goto err_code; > }
-- Regards/Gruss, Boris.
https://people.kernel.org/tglx/notes-about-netiquette
| |