tron
bac6bb6bf2
No need to get definition of "SYSV..." from "opt_sysv.h" because they
...
must be set if these files are compiled.
1998-10-21 22:24:28 +00:00
tron
bb56b72356
Defopt SYSVMSG, SYSVSEM and SYSVSHM.
1998-10-19 22:19:27 +00:00
tron
f87a1b6e7a
1.93:Regen.
1998-10-19 22:19:26 +00:00
tron
fe8170d1b1
Defopt SYSVMSG, SYSVSEM and SYSVSHM.
1998-10-19 22:19:26 +00:00
tron
06fb47025e
1.99:Regen.
1998-10-19 22:19:25 +00:00
tron
39876df951
Defopt SYSVMSG, SYSVSEM and SYSVSHM.
1998-10-19 22:14:54 +00:00
pk
2d45ece0e7
Allow `curproc' to be defined in <machine/proc.h> to enable a transition
...
to SMP support.
1998-10-19 11:51:53 +00:00
bouyer
bf32feec28
More >2Gb fixes, from Constantine Sapuntzakis.
1998-10-16 14:29:40 +00:00
pk
c65c55af6f
Disable the daft PAUSE() macro, which manages to skip all the relevant
...
code in lockmgr() most of the time. This a no doubt a case of Bad Coding Style.
1998-10-14 09:41:21 +00:00
bouyer
91ce6daac5
Fix for files > 2Gb, one from Kirk McKusick via OpenBSD and one similar from me.
1998-10-12 09:57:48 +00:00
christos
10b5900f45
update for linux file move.
1998-10-03 20:39:32 +00:00
eeh
903d20a930
Fix big-endian syscall args.
1998-10-03 19:21:11 +00:00
drochner
835d1b736c
Make contsigmask, stopsigmask, sigcantmask kernel private.
1998-10-03 14:29:02 +00:00
erh
8c963d5a04
Move elf function name macros to exec_elf.h. COMPAT_LINUX is no longer limited to ELFSIZE==32.
1998-10-01 16:06:24 +00:00
erh
a0480f4f57
Only include linux a.out makecmds if EXEC_AOUT is defined.
1998-10-01 15:55:34 +00:00
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
thorpej
1083dcb6ca
Back out previous.
1998-08-18 18:16:30 +00:00
thorpej
7cc905f5c8
Add some braces to make egcs happy (ambiguous else warning).
1998-08-18 06:27:01 +00:00
thorpej
84f8a722d2
Deal with a VERY BOGUS -Wuninitialized warning. (Again, appears to be
...
__noreturn__ related)
1998-08-18 06:26:30 +00:00
thorpej
f3d7e7e21c
Add some braces to make egcs happy (ambiguous else warning).
1998-08-18 06:11:35 +00:00
thorpej
e00e495827
Add missing simple_unlock(), from Stefan Grefen, PR #5981 .
1998-08-17 17:29:20 +00:00
mycroft
bf886f2029
Assign my copyrights to TNF.
1998-08-15 05:19:50 +00:00
mycroft
6d3d8a1350
Make copyright notices with my name consistent.
1998-08-15 03:02:31 +00:00
thorpej
09efdbb42d
Oops, this got missed in the vm_offset_t -> vaddr_t change.
1998-08-13 19:15:33 +00:00
kleink
5350df2953
Per POSIX, fail with EINVAL if advisory locking is attempted on a file type
...
that doesn't support it, rather than using a homegrown EBADF or EOPNOTSUPP.
1998-08-13 10:06:31 +00:00
eeh
a2dd74ed79
Merge paddr_t changes into the main branch.
1998-08-13 02:10:37 +00:00
kleink
7b07ad780a
Per XNS Issue 5, calling recvmsg(2) or sendmsg(2) with an msg.msg_iovlen less
...
than or equal to 0 shall fail with EMSGSIZE; the latter condition was not being
checked for. Also, document the msg.msg_iovlen > {IOV_MAX} case.
1998-08-04 19:48:34 +00:00
kleink
c6ef57702d
UIO_MAXIOV -> IOV_MAX
1998-08-04 12:19:15 +00:00
perry
275d1554aa
Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one.
...
bcopy(x, y, z) -> memcpy(y, x, z)
ovbcopy(x, y, z) -> memmove(y, x, z)
bcmp(x, y, z) -> memcmp(x, y, z)
bzero(x, y) -> memset(x, 0, y)
1998-08-04 04:03:10 +00:00
kleink
3d9b4a4320
Fix two off-by-one bugs, both present in each recvmsg(2) and sendmsg(2):
...
* the first one would cause an unnecessary malloc() of iovec storage for
a msg_iovlen of UIO_SMALLIOV although the required amount of memory has
been allocated on the stack.
* the second one would cause a recvmsg() or sendmsg() with a msg_iovlen of
UIO_MAXIOV to fail with EMSGSIZE, which is also a violation of XNS5.
1998-08-03 15:15:58 +00:00
kleink
c68582d64b
UIO_MAXIOV -> IOV_MAX
1998-08-03 15:01:00 +00:00
kleink
5404ba4886
Add support to query the
...
* availability of POSIX Synchronized I/O (kern.synchronized_io),
* maximum number of iovec structures to be used in readv(2) etc. (kern.iov_max)
via sysctl().
1998-08-03 14:38:20 +00:00
thorpej
85b7cfc8c3
Make sure we initialize pr_nidle.
1998-08-02 19:07:47 +00:00
kleink
b7877d3fc0
Implement support for IEEE Std 1003.1b-1993 syncronous I/O:
...
* if synchronized I/O file integrity completion of read operations was
requested, set IO_SYNC in the ioflag passed to the read vnode operator.
* if synchronized I/O data integrity completion of write operations was
requested, set IO_DSYNC in the ioflag passed to the write vnode operator.
1998-08-02 18:39:14 +00:00
thorpej
a4c7bab10e
Use the pool allocator for sockets.
1998-08-02 04:53:11 +00:00
thorpej
0e28b643e9
Use a pool for proc structures.
1998-08-02 04:41:32 +00:00
thorpej
6f739e1a66
Fix a braino in the idle page instrumentation.
1998-08-02 04:34:46 +00:00
thorpej
7c61b8cdd8
Instrument "idle pages" (i.e. pages which have no items allocated from
...
them, and could thus be freed back to the system).
1998-08-01 23:44:20 +00:00
thorpej
3c658f1f41
Don't call the protocol drain routines if how == M_NOWAIT, which typically
...
means we're in interrupt context. Since we can be called from a network
hardware interrupt, we could corrupt the protocol queues we try to drain
them at that time.
1998-08-01 01:47:24 +00:00
thorpej
c56c24f4fd
Initialize the mbuf allocator _before_ autoconfiguration; it might be
...
called when devices attach, take two.
Note that it is necessary that mbinit() NOT allocate memory, since it
is called before mb_map is created. This is not a problem with the
pool allocator that is now used for mbufs and mbuf clusters.
1998-08-01 01:36:35 +00:00
thorpej
e7521693c1
Use the pool allocator for mbufs and mbufs clusters (two pools, one for
...
each). Partially from pk@netbsd.org .
1998-08-01 01:35:20 +00:00
thorpej
e8b92fa131
Oops, back out previous. I need to attack that problem differently.
1998-08-01 01:20:43 +00:00
perry
730baa7431
fix sizeofs so they comply with the KNF style guide. yes, it is pedantic.
1998-07-31 22:50:48 +00:00
thorpej
17e88cf50e
Initialize the mbuf allocator _before_ autoconfiguration; it might be
...
called when devices attach.
1998-07-31 21:59:55 +00:00
thorpej
fe7696eacb
Un-static pool_head; vmstat wants to find it.
1998-07-31 21:55:09 +00:00
kleink
17de9df6c1
Reject an iovcnt argument of 0 to readv(), writev(), preadv() and pwritev()
...
as invalid. This has been stated by the respective manual pages at least
since Net/2, and is the behaviour specified by XSH5.
1998-07-31 15:38:58 +00:00
mycroft
f53fedba63
Regen.
1998-07-30 00:46:27 +00:00
mycroft
d588e17601
__Namespace__ __protection__.
1998-07-30 00:46:01 +00:00
thorpej
4b039671de
When checking for overflow in the residual count, test against SSIZE_MAX.
...
The read/write system calls return ssize_t because -1 is used to indicate
error, therefore the transfer size MUST be limited to SSIZE_MAX, otherwise
garbage can be returned to the user.
There is NO change from existing behavior here, only a more precise
definition of that the semantics are, except in the Alpha case, where
the full SSIZE_MAX transfer size can now be realized (ssize_t is 64-bit
on the Alpha).
1998-07-29 02:07:19 +00:00
thorpej
6326c90134
Change the "aresid" argument of vn_rdwr() from an int * to a size_t *,
...
to match the new uio_resid type.
1998-07-28 18:37:47 +00:00
thorpej
e95c22ee96
Don't cast the null residual pointer passed to vn_rdwr().
1998-07-28 18:17:34 +00:00