Date: Mon, 19 Jan 2004 20:26:10 -0800 From: David Schultz <das@FreeBSD.ORG> To: Marcel Moolenaar <marcel@FreeBSD.ORG> Cc: cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/ia64/ia64 trap.c Message-ID: <20040120042610.GA91142@VARK.homeunix.com> In-Reply-To: <200401200329.i0K3TOL0029675@repoman.freebsd.org> References: <200401200329.i0K3TOL0029675@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 19, 2004, Marcel Moolenaar wrote: > 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. Does this fix the spurious SIGFPEs that were being delivered on denormal traps?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040120042610.GA91142>