CVSROOT: /cvs
Module name: src
Changes by: [email protected] 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@