[PATCH V4] powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx

David Laight David.Laight at ACULAB.COM
Wed Mar 6 21:24:12 EST 2013

> > Yes, that's (one reason) why you'd want to fill in a known value.  Note
> > the "for now". :-)
> >
> > -Scott
> I think there is no overwhelming reason to fill the destination register
> with 0xffffffff.
> There's a small chance that 0xffffffff is treated as regular data rather
> than an error sign.
> Also setting this register may influence the user space under certain
> circumstance.
> So I think just ignore the skipped instruction is an acceptable option for
> this fix.

The 'random' value is just as likely to affect the reader, but only
for some values - so you'll get almost impossible to repeat bugs.
If a fixed value (0 or ~0) has an adverse effect, at least it will
have the same every time.

Read errors are also likely to affect device drivers reading
status bits, since these are very likely 'write to clear' any
driver would have to be willing to process the 'dummy' value
in a manner that won't loop forever (especially in an ISR).

You don't need every access to be via a function that explicitly
(somehow) detects that the fault happened, but knowing that a
specific value might be caused by a dead PCIe bus, and being
able to find out whether that is true (to avoid looping forever)
is probably useful.

This is probably similar to what a driver needs to recover from
an external PCIe list being unplugged.


More information about the Linuxppc-dev mailing list