freebsd-nq/sys/alpha/include
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
..
pc
_inttypes.h
_limits.h
alpha_cpu.h
ansi.h Guard against redefining __gnuc_va_list. 2002-03-24 11:25:46 +00:00
asm.h ASM versions of __FBSDID. 2002-03-23 02:01:27 +00:00
atomic.h
bootinfo.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
bus_memio.h
bus_pio.h
bus.h
bwx.h
chipset.h
clock.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
clockvar.h
cpu.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
cpuconf.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
cpufunc.h Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
db_machdep.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
elf.h
endian.h o Don't require long long support in bswap64() functions. 2002-03-09 21:02:16 +00:00
exec.h
float.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
floatingpoint.h
fpu.h
frame.h
ieee.h
ieeefp.h
in_cksum.h
inst.h
intr.h
intrcnt.h
ioctl_bt848.h
ioctl_meteor.h
limits.h
md_var.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
mutex.h
pal.h
param.h
pcb.h
pcpu.h
pmap.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
proc.h Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
profile.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
prom.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
psl.h
pte.h
ptrace.h Move the definition of PT_[GS]ET{,DB,FP}REGS from the MD ptrace.h to the 2002-03-16 00:25:53 +00:00
reg.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
reloc.h
resource.h
rpb.h
setjmp.h
sgmap.h
sigframe.h
signal.h
smp.h
stdarg.h
swiz.h
sysarch.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
types.h
ucontext.h
varargs.h
vmparam.h