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 |
||
---|---|---|
.. | ||
30line.h | ||
cbus_dma.c | ||
cbus.h | ||
clock.c | ||
fdc.c | ||
fdcreg.h | ||
gdc.c | ||
olpt.c | ||
pckbd.c | ||
pcrtc.c | ||
pmc.c | ||
ppc.c | ||
ppcreg.h | ||
sc_machdep.h | ||
scgdcrndr.c | ||
scterm-sck.c | ||
scvtb.c | ||
sio_cbus.c | ||
sio.c | ||
syscons_cbus.c |