Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 May 2001 06:06:59 -0700 (PDT)
From:      Bruce Evans <bde@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/isa npx.c
Message-ID:  <200105021306.f42D6xo49420@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
bde         2001/05/02 06:06:58 PDT

  Modified files:
    sys/i386/isa         npx.c 
  Log:
  Fixed panics in npx exception handling.  When using IRQ13 exception
  handling, SMPng always switches the npx context away from curproc
  before calling the handler, so the handler always paniced.  When using
  exception 16 exception handling, SMPng sometimes switches the npx
  context away from curproc before calling the handler, so the handler
  sometimes paniced.  Also, we didn't lock the context while using it,
  so we sometimes didn't detect the switch and then paniced in a less
  controlled way.
  
  Just lock the context while using it, and return without doing anything
  except clearing the busy latch if the context is not for curproc.  This
  fixes the exception 16 case and makes the IRQ13 case harmless.  In both
  cases, the instruction that caused the exception is restarted and the
  exception repeats.  In the exception 16 case, we soon get an exception
  that can be handled without doing anything special.  In the IRQ13 case,
  we get an easy to kill hung process.
  
  Revision  Changes    Path
  1.97      +19 -8     src/sys/i386/isa/npx.c


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105021306.f42D6xo49420>