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 |
||
---|---|---|
.. | ||
atkbd_isa.c | ||
atkbdc_isa.c | ||
atrtc.c | ||
fd.c | ||
fdreg.h | ||
isa_common.c | ||
isa_common.h | ||
isa_if.m | ||
isahint.c | ||
isareg.h | ||
isavar.h | ||
orm.c | ||
pnp.c | ||
pnpparse.c | ||
pnpreg.h | ||
pnpvar.h | ||
ppc.c | ||
ppcreg.h | ||
psm.c | ||
rtc.h | ||
syscons_isa.c | ||
vga_isa.c |