Commit Graph

1651 Commits

Author SHA1 Message Date
thorpej
d46253f21c Implement vsprintf(). 1998-09-29 21:03:02 +00:00
pk
25e37f3b97 In addition to the spinlock, use the lockmgr() to serialize access to
the back-end page allocator. This allows the back-end to sleep since we
now relinquish the spin lock after acquiring the long-term lock.
1998-09-29 18:09:29 +00:00
thorpej
ac0d359bcb Initialize the CPU ID in the simplelock. 1998-09-29 07:29:53 +00:00
thorpej
73aefe65bc If MULTIPROCESSOR, add a spin lock around the kernel printf (in the
appropriate places).  This makes debugging messages work a LOT better
on my multiprocessor Alpha.
1998-09-29 01:49:43 +00:00
matt
f0071e56cf Fix spl problem in socreate (which lead to the corruption of the
socket pool).
1998-09-25 23:32:27 +00:00
erh
3affe03bf4 Alpha Linux compat tweak for getpid, getuid and getgid. 1998-09-25 06:04:48 +00:00
thorpej
0c11d72456 Key off MULTIPROCESSOR, not NCPUS > 1. Pull in <machine/lock.h> if
MULTIPROCESSOR is defined, and rely on it to define the simple lock
operations.
1998-09-24 22:30:11 +00:00
thorpej
c0dd0b8353 Make sure the size is large enough to hold a pool_item. 1998-09-22 03:01:29 +00:00
enami
19031a5309 make this file compile again; the variable points signal action being
set is `nsa' and there is no variable `sa'.
1998-09-19 02:00:52 +00:00
christos
eb1a214078 Add NOCLDWAIT (from FreeBSD) 1998-09-18 18:48:22 +00:00
perry
5d0722b723 Note that kernel Makefile support for tags is totally broken. 1998-09-13 23:50:39 +00:00
christos
f35a4d311a Regen 1998-09-13 14:45:22 +00:00
christos
34cb71bf00 Quote the backquotes in the double-quoted shell string, otherwise they
disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
1998-09-13 14:44:34 +00:00
thorpej
f93b23110f Regen. 1998-09-13 04:58:21 +00:00
thorpej
45431e6471 Emit syscall numbers for COMPAT_xx syscalls, too. 1998-09-13 04:57:24 +00:00
christos
34c5a58bb4 Make copyrights consistent; fix weird/trailing spaces add missing (c) etc. 1998-09-12 17:20:02 +00:00
pk
818fef1cd7 Nuke spurious pointer incrementation. 1998-09-12 13:12:14 +00:00
mycroft
b1c2e63db6 Regen. 1998-09-12 10:48:51 +00:00
mycroft
3f2c7263b1 Fix thinko in previous. 1998-09-12 10:48:27 +00:00
mycroft
584cc642fc Regen. 1998-09-12 10:33:26 +00:00
mycroft
89ea1fcbdd Version sys_sigreturn, to avoid breaking programs that use it explicitly. 1998-09-12 00:47:12 +00:00
mycroft
f384c47bc7 Regen. 1998-09-11 23:13:32 +00:00
thorpej
911fd86e93 Regen; signal changes. (mycroft must have forgotten to commit this) 1998-09-11 22:37:53 +00:00
pk
470227cc3b Check that the `current directory' is still mounted before dropping core in it. 1998-09-11 13:25:20 +00:00
mycroft
fb526e055c Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
pk
3718fc4aa7 Allow the result of an extent allocation to be congruous to an arbitrary
number modulo the given alignment.
To do this the function extent_alloc_subregion() takes an additional `skew'
parameter.  For compatibility's sake, this function has been renamed to
extent_alloc_subregion1().
1998-09-10 20:52:13 +00:00
dbj
aa45959106 Added uvm and ddb 1998-09-09 03:02:23 +00:00
thorpej
93ea1946f0 Implement a new kernel thread, the "reaper", which performs the task
of freeing the VM resources once a process has exited.  A valid thread
must do this work, as doing so may block in a multi-processor environment.
1998-09-08 23:57:58 +00:00
thorpej
970e60efb8 - Use proclists[], rather than checking allproc and zombproc explicitly.
- Add some comments about locking.
1998-09-08 23:50:13 +00:00
thorpej
4edbfb00a8 - Add a new proclist, deadproc, which holds dead-but-not-yet-zombie
processes.
- Create a new data structure, the proclist_desc, which contains a
  pointer to a proclist, and eventually, a pointer to the lock for that
  proclist.  Declare a static array of proclist_descs, proclists[],
  consisting of allproc, deadproc, and zombproc.
1998-09-08 23:47:49 +00:00
christos
9b63f5f407 Assign copyright to TNF. 1998-09-05 14:30:31 +00:00
pk
6f107350c1 Make user-mode testing work again. 1998-09-01 17:59:36 +00:00
pk
5e3bbeb1e1 Fix a case of duplicate allocation in extent_alloc_subregion() triggered
by specifying a start address that happens to be beyond all currently
regions.
1998-09-01 17:57:44 +00:00
thorpej
77ecf8273e Use the pool allocator and "nointr" pool page allocator for name cache entries.
The only benefit this provides is that we don't use kmem_map to map the memory
used for name cache entries (though, this is a 13 virtual page savings on my
PPro) since vnodes are never freed (they have their own freelist).
1998-09-01 04:33:56 +00:00
thorpej
830ea34819 Use the pool allocator and "nointr" pool page allocator for vnodes. The
only benefit this provides is that we don't use kmem_map to map the memory
used for vnodes (though, this is a 30 virtual page savings on my PPro)
since vnodes are never freed (they have their own freelist).
1998-09-01 03:09:14 +00:00
thorpej
8a1009afd9 Use the pool allocator and the "nointr" pool page allocator for rusage
structures.
1998-09-01 01:02:33 +00:00
thorpej
ad5e377513 Use the pool allocator and the "nointr" pool page allocator for tty
structures.
1998-09-01 00:23:28 +00:00
thorpej
3f8397855e Use the pool allocator and the "nointr" pool page allocator for pgrp
structures.
1998-09-01 00:08:44 +00:00
thorpej
26b8f5c4ac Use the pool allocator and "nointr" pool page allocator for file structures. 1998-08-31 23:55:37 +00:00
thorpej
a8f7175524 Use the pool allocator and "nointr" pool page allocator for pcred and
plimit structures.
1998-08-31 23:53:19 +00:00
thorpej
4dc0e91e12 Use the pool allocator and "nointr" pool page allocator for pcred and
plimit structures.
1998-08-31 23:20:16 +00:00
cgd
d58173741d kill the last remnants of __BROKEN_INDIRECT_CONFIG. (only the pica port
used it, and it's non-working and apparently slated for replacement.)
1998-08-31 22:28:04 +00:00
mrg
69f13c5156 minor KNF nit 1998-08-31 02:47:00 +00:00
mrg
a2dad2e1a3 err, add sparc32_exec here. must forgot it. 1998-08-31 02:46:22 +00:00
scottr
b950031b83 Fix a few comment tyops, kill an inaccurate comment, and
do some minor KNFing.
1998-08-30 20:30:57 +00:00
thorpej
3d5e078fe9 Use the "nointr" pool page allocator. 1998-08-28 21:20:05 +00:00
thorpej
f1f6ec6afe Add an alternate pool page allocator that can be used if the pool is
never accessed in interrupt context.  In the UVM case, this uses the
kernel_map, to reduce usage of the previous kmem_map resource.
1998-08-28 21:18:37 +00:00
thorpej
77d0a69569 Add a waitok boolean argument to the VM system's pool page allocator backend. 1998-08-28 20:05:48 +00:00
pk
9e744b8155 Merge Chris Torek's new `%b' bit-field format into bitmask_snprintf(). 1998-08-23 22:42:32 +00:00
ragge
b3574d3923 VAX logical page size increased to 4k. 1998-08-21 13:41:09 +00:00