CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2015/07/29 12:52:44

Modified files:
        sys/arch/macppc/macppc: locore.S 
        sys/arch/powerpc/include: pcb.h 
        sys/arch/powerpc/powerpc: trap.c 
        sys/arch/socppc/socppc: locore.S 

Log message:
17 years ago, setfault() was modified to save the status register in the
faultbuf. But 1/ sr was only restored for machine check exceptions, and 2/ the
way it was saved was unsafe if interrupts were enabled, and could cause %r2
to be lost.

Discussing this with deraadt@ at the end of c2k15, this was probably needed
for the old VI boards which were the target of the original powerpc port,
came with a worse-than-Genesi openfirmware. Since then, machine check
exceptions have been unheard of; or, if they happen, they do not need the
status register to be restored.

ok mpi@ deraadt@

Reply via email to