mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-17 15:27:36 +00:00
d74ac6819b
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 |
||
---|---|---|
.. | ||
atpic_vector.S | ||
clock.c | ||
icu_ipl.s | ||
icu_ipl.S | ||
icu_vector.s | ||
icu_vector.S | ||
icu.h | ||
intr_machdep.c | ||
intr_machdep.h | ||
isa_dma.c | ||
isa_dma.h | ||
isa.c | ||
isa.h | ||
ithread.c | ||
nmi.c | ||
npx.c | ||
timerreg.h | ||
vector.s | ||
vector.S |