> > +       /*
> > +        * On POWER9 DD2.1 and below, it's possible to get machine
> > +        * check where only DSISR bit 33 is set. This will result in
> > +        * the MCE handler seeing an unknown event and us crashing.
> > +        * Change this to mark as handled on these revisions.
> > +        */
> > +       pvr = mfspr(SPRN_PVR);
> > +       if (((PVR_VER(pvr) == PVR_POWER9) &&
> > +            (PVR_CFG(pvr) == 2) &&
> > +            (PVR_MIN(pvr) <= 1)) || cpu_has_feature(CPU_FTR_POWER9_DD1))
> > +               /* DD2.1 and below */
> > +               if (mce_err.error_type == MCE_ERROR_TYPE_UNKNOWN)
> > +                   handled = 1;
> > +
> 
> What does this mean in terms of handling? Since we do not know the event,
> how do we recover/handle? The system will anyway crash for not-recovered
> cases. Does this prevent us from seeing the same exception several times?

So the MCE is spurious, so we don't need to do anything in terms of servicing
it. If there is something that needs to be serviced, the CPU will raise the MCE
again with the correct DSISR so that it can be serviced.

I'll add a comment to that effect and report.

Thanks
Mikey

Reply via email to