From owner-freebsd-current Thu Jan 2 18:25:46 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id SAA22772 for current-outgoing; Thu, 2 Jan 1997 18:25:46 -0800 (PST) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.8.4/8.8.4) with ESMTP id SAA22767 for ; Thu, 2 Jan 1997 18:25:39 -0800 (PST) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.3/8.6.9) id NAA13793; Fri, 3 Jan 1997 13:15:47 +1100 Date: Fri, 3 Jan 1997 13:15:47 +1100 From: Bruce Evans Message-Id: <199701030215.NAA13793@godzilla.zeta.org.au> To: bde@zeta.org.au, cracauer@wavehh.hanse.de Subject: Re: i586-optimized copyin/out still broken Cc: freebsd-current@freebsd.org Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >>> Modified: sys/i386/isa npx.c >>> Log: >>> Disabled i586-optimized copyin and copyout again. The fault handler >>> is still broken - it doesn't restore the floating point state. >Could this problem result in NaN being produced at wrong places. No, it causes kernel panics. >I filled a PR (2142) about it, maybe it could be closed then. That is much harder to fix. It is caused by the floating point state not being preserved across signal handlers. There are few, if any, valid and useful uses for floating point in signal handlers, because an ANSI signal handler must not make any accesses to a global object other than assignment to ones of type `volatile sig_atomic_t'. Thus preserving the state would mainly slow down signal handlers. Bruce