From owner-cvs-src@FreeBSD.ORG Mon Jan 19 19:29:25 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E757916A4CE; Mon, 19 Jan 2004 19:29:25 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7F32243D41; Mon, 19 Jan 2004 19:29:24 -0800 (PST) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i0K3TO0B029676; Mon, 19 Jan 2004 19:29:24 -0800 (PST) (envelope-from marcel@repoman.freebsd.org) Received: (from marcel@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i0K3TOL0029675; Mon, 19 Jan 2004 19:29:24 -0800 (PST) (envelope-from marcel) Message-Id: <200401200329.i0K3TOL0029675@repoman.freebsd.org> From: Marcel Moolenaar Date: Mon, 19 Jan 2004 19:29:24 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/ia64/ia64 trap.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jan 2004 03:29:26 -0000 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