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