freebsd-dev/sys/powerpc/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
..
_inttypes.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
_limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
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 Make atomic_cmpset_32 correctly return 0 on failure. 2002-02-24 23:31:49 +00:00
bat.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
bootinfo.h Remove __P. 2002-03-20 23:17:50 +00:00
bus.h Remove __P. 2002-03-20 23:17:50 +00:00
clock.h Remove __P. 2002-03-20 23:17:50 +00:00
cpu.h Remove __P. 2002-03-20 23:17:50 +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. 2002-03-20 23:17:50 +00:00
elf.h Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
endian.h o Don't require long long support in bswap64() functions. 2002-03-09 21:02:16 +00:00
exec.h PowerPC platform-specific page size setting. 2001-01-01 23:26:39 +00:00
fpu.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
frame.h Make fork work, at least for kthreads. Switching still has some issues. 2002-02-28 03:24:07 +00:00
intr.h Remove __P. 2002-03-20 23:17:50 +00:00
ipl.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
md_var.h Remove __P. 2002-03-20 23:17:50 +00:00
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
openpicreg.h Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
param.h Complete rework of the PowerPC pmap and a number of other bits in the early 2002-02-14 01:39:11 +00:00
pcb.h Make fork work, at least for kthreads. Switching still has some issues. 2002-02-28 03:24:07 +00:00
pcpu.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
pio.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
pmap.h - Modify pmap_activate so it only marks the pmap as active. 2002-02-28 11:55:44 +00:00
powerpc.h Remove __P. 2002-03-20 23:17:50 +00:00
proc.h Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
psl.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
pte.h Remove __P. 2002-03-20 23:17:50 +00:00
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. 2002-03-20 23:17:50 +00:00
reloc.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
resource.h
setjmp.h PowerPC platform-specific definitions (modeled on sys/i386/include/setjmp.h) 2001-01-02 00:34:24 +00:00
sigframe.h style(9) the structure definitions. 2001-09-05 01:36:46 +00:00
signal.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
smp.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
sr.h style(9) 2002-02-18 06:24:55 +00:00
stdarg.h Cleanup of the stdarg code. 2001-10-19 16:15:46 +00:00
trap.h Clean up the trap handling code and make it consistent with the other platforms. 2001-11-05 00:49:03 +00:00
types.h style(9) 2001-12-09 19:12:07 +00:00
ucontext.h Minor style tweaks. 2001-01-02 00:11:41 +00:00
varargs.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
vmparam.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00