Date: Fri, 18 Jun 2004 02:10:55 +0000 (UTC) From: Bruce Evans <bde@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/isa npx.c Message-ID: <200406180210.i5I2AtW1074263@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
bde 2004-06-18 02:10:55 UTC FreeBSD src repository Modified files: sys/i386/isa npx.c Log: Fixed a panic caused by over-optimizing npxdrop() in the non-FXSR case. frstor can trap despite it being a control instruction, since it bogusly checks for pending exceptions in the state that it is overwriting. This used to be a non-problem because frstor was always paired with a previous fnsave, and fnsave does an implicit fninit so any pending exceptions only remain live in the saved state. Now frstor is sometimes paired with npxdrop() and we must do a little more than just forget that the npx was used in npxdrop() to avoid a trap later. This is a non-problem in the FXSR case because fxrstor doesn't do the bogus check. FXSR is part of SSE, and npxdrop() is only in FreeBSD-5.x, so this bug only affected old machines running FreeBSD-5.x. PR: 68058 Revision Changes Path 1.151 +9 -0 src/sys/i386/isa/npx.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406180210.i5I2AtW1074263>