Messages in this thread | | | Date | Fri, 17 Apr 2009 20:24:23 +0900 | From | Hidetoshi Seto <> | Subject | Re: [PATCH] [28/28] x86: MCE: Implement new status bits |
| |
Andi Kleen wrote: > static struct severity { > u64 mask; > u64 result; > unsigned char sev; > unsigned char mcgmask; > unsigned char mcgres; > + unsigned char ser; > + unsigned char context; > char *msg; > } severities[] = { > +#define KERNEL .context = IN_KERNEL > +#define USER .context = IN_USER > +#define SER .ser = 1 > +#define NOSER .ser = -1
ser is unsigned or signed?
> int mce_severity(struct mce *a, int tolerant, char **msg) > { > struct severity *s; > @@ -51,11 +101,14 @@ > continue; > if ((a->mcgstatus & s->mcgmask) != s->mcgres) > continue; > - if (s->sev > MCE_NO_SEVERITY && (a->status & MCI_STATUS_UC) && > - tolerant < 1) > - return MCE_PANIC_SEVERITY; > + if ((s->ser == 1 && !mce_ser) || (s->ser == -1 && mce_ser)) > + continue; > + if (s->context && error_context(a) != s->context) > + continue; > if (msg) > *msg = s->msg; > + if (s->context == IN_KERNEL && panic_on_oops) > + return MCE_PANIC_SEVERITY; > return s->sev; > } > }
Where did you throw away the statements for "tolerant < 1"?
Thanks, H.Seto
| |