[PATCH 3/3] powerpc/64s: POWER9 machine check handler
Nicholas Piggin
npiggin at gmail.com
Thu Mar 9 16:35:15 AEDT 2017
On Tue, 28 Feb 2017 12:37:23 +0530
Mahesh Jagannath Salgaonkar <mahesh at linux.vnet.ibm.com> wrote:
> On 02/28/2017 07:30 AM, Nicholas Piggin wrote:
> > +long __machine_check_early_realmode_p9(struct pt_regs *regs)
> > +{
> > + uint64_t nip, addr;
> > + long handled;
> > + struct mce_error_info mce_error_info = { 0 };
> > +
> > + nip = regs->nip;
> > +
> > + if (P9_SRR1_MC_LOADSTORE(regs->msr)) {
>
> Asynch store errors are reported in the srr1 with codes srr1 42=1, 36=1,
> 43=1 and 44:45 = 01 or 10. Since srr1 42=1, you may end up in
> mce_handle_derror_p9() for asynch errors and look for error bits in
> DSISR instead in SRR1. We will miss detecting asynch errors completely.
After clarification from hardware, Asynch MCEs are reported with
SRR1 bit 42 = 0, so I think this is okay.
Thanks,
Nick
More information about the Linuxppc-dev
mailing list