Skip site navigation (1)Skip section navigation (2)
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>