NetBSD/sys/arch/mips/include
jdolecek 089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
..
ansi.h Update for GCC3 (basically, use the __builtin_va_* implementation). 2003-10-25 18:14:48 +00:00
aout_machdep.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
asm.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
bsd-aout.h Standardise on #ifdef _MIPS_<header>_H_ for multiple inclusion tests. 2002-11-30 01:52:31 +00:00
bswap.h Standardise on #ifdef _MIPS_<header>_H_ for multiple inclusion tests. 2002-11-30 01:52:31 +00:00
bus_dma.h Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it. 2003-01-28 01:07:51 +00:00
bus_space.h Oops, balance #ifdef/#endif _KERNEL. 2002-03-18 01:01:54 +00:00
cache_mipsNN.h No need to protect headers with #ifdef _KERNEL if they're never installed 2003-02-17 11:35:01 +00:00
cache_r3k.h No need to protect headers with #ifdef _KERNEL if they're never installed 2003-02-17 11:35:01 +00:00
cache_r4k.h Add support for R5k secondary caches, from code Chris Sekiya sent me a long 2003-03-08 04:43:24 +00:00
cache_r5k.h Add support for R5k secondary caches, from code Chris Sekiya sent me a long 2003-03-08 04:43:24 +00:00
cache_r10k.h cache_r10k.c rev. 1.1 is broken. Because, 2003-11-01 04:42:56 +00:00
cache_r5900.h No need to protect headers with #ifdef _KERNEL if they're never installed 2003-02-17 11:35:01 +00:00
cache_tx39.h No need to protect headers with #ifdef _KERNEL if they're never installed 2003-02-17 11:35:01 +00:00
cache.h No need to protect headers with #ifdef _KERNEL if they're never installed 2003-02-17 11:35:01 +00:00
cachectl.h ANSIfy. 2002-03-05 14:08:43 +00:00
cdefs.h
cpu_counter.h Replace machine/rnd.h with more appropriate name to share it 2003-02-05 13:57:50 +00:00
cpu.h Rearrange process exit path to avoid need to free resources from different 2004-01-04 11:33:29 +00:00
cpuregs.h Add some more MTI CPU ids. 2003-10-29 23:41:10 +00:00
db_machdep.h Hide the register number constants behind an _R_ prefix, and also 2003-11-26 08:36:49 +00:00
ecoff_machdep.h Merge the nathanw_sa branch. 2003-01-17 22:58:53 +00:00
elf_machdep.h don't need ELF_INTER_NON_RELOCATABLE anymore if no COMPAT_16, from simonb 2003-10-31 14:06:29 +00:00
endian_machdep.h
endian.h
float.h Rename <sys/float_ieee.h> to <sys/float_ieee754.h>, following libc's 2003-05-12 15:22:53 +00:00
frame.h first pass siginfo for mips 2003-10-29 23:40:42 +00:00
ieee.h Use <sys/ieee754.h> where applicable. 2003-10-26 20:55:30 +00:00
ieeefp.h
int_const.h Add LP64 macros. 2002-11-03 19:24:55 +00:00
int_fmtio.h Add LP64 types, limits, formats. 2002-11-03 19:55:23 +00:00
int_limits.h Add LP64 types, limits, formats. 2002-11-03 19:55:23 +00:00
int_mwgwtypes.h Add LP64 types, limits, formats. 2002-11-03 19:55:23 +00:00
int_types.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
isa_machdep.h A few ISA sound drivers like to share dma channels, and hence deferred 2003-05-09 23:51:25 +00:00
kcore.h
kdbparam.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
limits.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
lock.h Move __cpu_simple_lock_t and __SIMPLELOCK_{UN,}LOCKED to machine/types.h 2003-09-26 22:45:41 +00:00
locore.h Add some more MIPS vendor IDs. 2003-10-29 23:39:16 +00:00
Makefile Merge the nathanw_sa branch. 2003-01-17 22:58:53 +00:00
Makefile.inc introduce an additional switch to enable building GCC3 instead of GCC2: 2003-08-27 16:03:17 +00:00
math.h
mcontext.h first pass siginfo for mips 2003-10-29 23:40:42 +00:00
mips1_pte.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
mips3_pte.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
mips_opcode.h One defintion of OP_SYNC should be enough. 2003-10-15 06:46:46 +00:00
mips_param.h
mipsNN.h Update to consistently use Broadcom GPL-compatible license on all SiByte code. 2003-02-07 17:38:48 +00:00
pcb.h Hide the register number constants behind an _R_ prefix, and also 2003-11-26 08:36:49 +00:00
pci_machdep.h Let machine-dependent code specify how to enumerate the bus. 2002-05-15 19:23:51 +00:00
pmap.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
pmc.h Implement pmc(9) -- An interface to hardware performance monitoring 2002-08-07 05:14:47 +00:00
proc.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
profile.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
psl.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
pte.h eliminate PT_ENTRY_NULL in favor of plain old NULL. 2002-10-14 05:11:21 +00:00
ptrace.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
r3900regs.h Remove the number of TLB entries for different rx39 CPUs - this info 2002-03-05 16:02:48 +00:00
r5900regs.h White space nits. 2002-11-15 00:58:32 +00:00
reg.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
regdef.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
regnum.h Hide the register number constants behind an _R_ prefix, and also 2003-11-26 08:36:49 +00:00
reloc.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
sb1regs.h Declare some CP0 hazards for the SB1 core. 2002-11-15 01:09:20 +00:00
setjmp.h Include <machine/cdefs.h> to select 32/64bit APIs. 2002-03-05 14:17:16 +00:00
signal.h bye, bye _MCONTEXT_TO_SIGCONTEXT and vice versa. 2003-11-25 23:11:52 +00:00
softintr.h Prepare common routines for MIPS generic software interrupt. 2003-05-25 13:48:00 +00:00
stdarg.h Update for GCC3 (basically, use the __builtin_va_* implementation). 2003-10-25 18:14:48 +00:00
svr4_machdep.h LWP'ify the svr4_mcontext stuff. 2003-01-22 04:32:17 +00:00
sysarch.h __{BEGIN,END}_DECLS-wrap prototypes. 2003-09-11 09:40:11 +00:00
trap.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
types.h Move __cpu_simple_lock_t and __SIMPLELOCK_{UN,}LOCKED to machine/types.h 2003-09-26 22:45:41 +00:00
userret.h Reduce code duplication by adding mi_userret() in sys/userret.h 2003-10-31 16:44:34 +00:00
varargs.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
vmparam.h Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00