cvs commit: src/sys/ia64/ia64 trap.c
Marcel Moolenaar
marcel at FreeBSD.org
Mon Jan 19 19:29:26 PST 2004
marcel 2004/01/19 19:29:24 PST
FreeBSD src repository
Modified files:
sys/ia64/ia64 trap.c
Log:
Fix handling of FP traps:
o For traps, the cr.iip register points to the next instruction to
execute on interrupt return (modulo slot). Since we need to get
the bundle of the instruction that caused the FP fault/trap, make
sure we fetch the previous bundle if the next instruction is in
fact the first in a bundle.
o When we call the FPSWA handler, we need to tell it whether it's
a trap or a fault (first argument). This was hardcoded to mean a
fault.
Also, for FP faults, when a fault is converted to a trap, adjust the
cr.iip and cr.ipsr registers to point to the next instruction. This
makes sure that the SIGFPE handler gets a consistent state.
Revision Changes Path
1.97 +23 -24 src/sys/ia64/ia64/trap.c
More information about the cvs-all
mailing list