freebsd-dev/sys/amd64
Bruce Evans 79d4e25bea 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.
2001-05-02 13:06:58 +00:00
..
acpica FreeBSD-specific OSD (operating system dependant) modules for the Intel 2000-10-28 06:56:15 +00:00
amd64 Fixed panics in npx exception handling. When using IRQ13 exception 2001-05-02 13:06:58 +00:00
conf Turn on kernel debugging support (DDB, INVARIANTS, INVARIANT_SUPPORT, WITNESS) 2001-04-15 19:37:28 +00:00
include Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
isa Fixed panics in npx exception handling. When using IRQ13 exception 2001-05-02 13:06:58 +00:00
pci Free the memory we get from devclass_get_devices and device_get_children. 2001-02-08 20:44:49 +00:00
Makefile Update tags directive to reflect the new location of soft updates 2000-07-04 00:18:43 +00:00