freebsd-dev/sys/amd64/isa
Bruce Evans 265e95d904 Deleted most of npxprobe(), and merged npxprobe1() back into npxprobe().
Use the normal interrupt handler (npx_intr()) instead of a special
probe-time interrupt handler, although this causes problems due to
the bus_teardown_intr() not actually even tearing down the interrupt
(these problems were avoided by doing interrupt attachment for the
special interrupt handler directly).  Fixed minor bitrot in comments.

The reason for the npxprobe()/npxprobe1() split mostly went away at
about the same time it was made (in 1992 or 1993 just before the
beginning of history).  386BSD ran all probes with interrupts completely
masked, and I didn't want to disturb this when I added an irq probe
to npxprobe().  An irq (not necessarily npx) must be acked for at least
external npx's to take the cpu out of the wait state that it enters
when an npx error occurs, so the probe must be done with a suitable
irq unmasked.  npxprobe() went to great lengths to unmask precisely
the npx irq.

Running probes with all interrupts masked was never really needed in
FreeBSD, since FreeBSD always masked interrupts well enough using
splhigh(), but it wasn't until rev.1.48 (1995/12/12) of autoconf.c
that all probes were run with CPU interrupts enabled.  This permits
npxprobe() to probe its irq using normal interrupt resources.  Note
that most drivers still can't depend on this.  It depends on the
interrupt handler being fast and the irq not being shared.
2001-10-16 14:12:35 +00:00
..
atpic_vector.S Remove the Xresume* labels from the i386 interrupt handlers; the 2001-10-09 19:54:52 +00:00
clock.c Remove an unneeded variable declaration and statement. 2001-10-09 16:06:28 +00:00
icu_ipl.s Remove the leading underscore from all symbols defined in x86 asm 2001-02-25 06:29:04 +00:00
icu_ipl.S Remove the leading underscore from all symbols defined in x86 asm 2001-02-25 06:29:04 +00:00
icu_vector.s Remove the Xresume* labels from the i386 interrupt handlers; the 2001-10-09 19:54:52 +00:00
icu_vector.S Remove the Xresume* labels from the i386 interrupt handlers; the 2001-10-09 19:54:52 +00:00
icu.h Axe a commented, unused #define related to the old giant lock. 2001-08-24 16:52:31 +00:00
intr_machdep.c Export interrupt statistics via sysctl. 2001-10-07 17:03:56 +00:00
intr_machdep.h Add ACPI S2-S4BIOS Suspend/Resume code. 2001-07-20 06:07:34 +00:00
isa_dma.c Add ACPI attachments. 2001-08-30 09:17:03 +00:00
isa_dma.h Stop isadma from abusing the B_READ, B_RAW and B_WRITE flags. 2000-03-13 10:19:32 +00:00
isa.c Rewrite the pc98 bus_space stuff. 2001-10-07 10:04:18 +00:00
isa.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ithread.c Add missing includes of sys/lock.h. 2001-10-11 17:52:20 +00:00
nmi.c Export interrupt statistics via sysctl. 2001-10-07 17:03:56 +00:00
npx.c Deleted most of npxprobe(), and merged npxprobe1() back into npxprobe(). 2001-10-16 14:12:35 +00:00
timerreg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vector.s Clean up the code exporting interrupt statistics via sysctl a bit: 2001-06-01 13:23:28 +00:00
vector.S Clean up the code exporting interrupt statistics via sysctl a bit: 2001-06-01 13:23:28 +00:00