1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-17 15:27:36 +00:00
freebsd/sys/amd64/isa
Matthew Dillon d74ac6819b Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt
disablement assumptions in kern_fork.c by adding another API call,
cpu_critical_fork_exit().  Cleanup the td_savecrit field by moving it
from MI to MD.  Temporarily move cpu_critical*() from <arch>/include/cpufunc.h
to <arch>/<arch>/critical.c (stage-2 will clean this up).

Implement interrupt deferral for i386 that allows interrupts to remain
enabled inside critical sections.  This also fixes an IPI interlock bug,
and requires uses of icu_lock to be enclosed in a true interrupt disablement.

This is the stage-1 commit.  Stage-2 will occur after stage-1 has stabilized,
and will move cpu_critical*() into its own header file(s) + other things.
This commit may break non-i386 architectures in trivial ways.  This should
be temporary.

Reviewed by:	core
Approved by:	core
2002-03-27 05:39:23 +00:00
..
atpic_vector.S Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
clock.c Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
icu_ipl.s
icu_ipl.S
icu_vector.s Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
icu_vector.S Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
icu.h Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-23 16:01:49 +00:00
intr_machdep.c Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
intr_machdep.h Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
isa_dma.c Remove __P. 2002-03-20 07:51:46 +00:00
isa_dma.h Remove __P. 2002-03-20 07:51:46 +00:00
isa.c - Split the routine to initialize a bus_space_handle into the separate 2002-02-17 09:16:45 +00:00
isa.h
ithread.c
nmi.c Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
npx.c Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
timerreg.h
vector.s
vector.S