thorpej
6382d6dd79
Implement file descriptor table sharing. Partially from FreeBSD.
1998-01-05 04:51:15 +00:00
thorpej
c50d4a5006
Bump minor: added __vfork14().
1998-01-05 02:29:46 +00:00
thorpej
27a61de952
Add __vfork14.S and Lint___vfork14.c
1998-01-05 02:29:04 +00:00
thorpej
fb74151eaf
Fix the stat(2) ABI problem noticed by Curt Sampson and Chris Demetriou.
...
The problem is that the timespec structures now how 7 32-bit values before
them, which causes them to be implicitly padded on the Alpha (because the
timespecs have an alignment of 64 bits). However, the alignment constraints
changed if _POSIX_SOURCE was defined (thus replacing the timespecs with
time_ts and longs). This had no effect on 32-bit architectures, but changed
the offsets of several stat structure members on the Alpha.
XXX The ABI has not changed; explicit padding is added in the _POSIX_SOURCE
XXX case, enabled by an #ifdef __alpha__. This should be changed if the
XXX stat(2) ABI is ever changed again (e.g. if we change time_t to 64 bits).
1998-01-05 02:23:43 +00:00
thorpej
d07708b38e
Make lint(1) happy.
1998-01-04 23:53:58 +00:00
thorpej
bedc7b48df
Add syscall stubs for __vfork14(). These are basically copies of Ovfork.S
...
with the syscall numbers changed.
Since 4.4BSD vfork(2) did not share address space, Ovfork.S could be changed
to be identical to fork.S (modulo syscall numbers). __vfork14.S, however,
needs to remain separate since with a shared address space, the stub needs to
pre-decrement the stack and do an indirect jump to the return address, so that
the shared stackframe is still there when the parent returns. (Obviously,
this does not apply to systems which to not build stackframes on leaf calls.)
1998-01-04 20:58:08 +00:00
thorpej
bbe02324b1
Add a lint stub for __vfork14.S
1998-01-04 20:52:09 +00:00
scw
d6e657f29f
Sync with release(7), and update ftp site IP address.
1998-01-04 12:48:14 +00:00
thorpej
d11eb3028f
Update to match the new (old :-) vfork(2) semantics.
1998-01-04 04:20:42 +00:00
thorpej
faa8ffb044
Revive the -f option: report fork statistics.
1998-01-04 03:59:04 +00:00
thorpej
341b8e9b49
Add fork statistics to vmmeter.
1998-01-04 03:53:35 +00:00
thorpej
871be215c8
Define flags passed to fork1(). Currently "block parent" and "share vmspace"
...
are defined.
1998-01-04 03:53:04 +00:00
thorpej
740f872797
New vfork(2) implementation, whith semantics matching those of the original
...
3BSD vfork(2), i.e. share address space w/ parent and block parent.
Keep statistics on the total number of forks, the number of forks that
block the parent, and the number of forks that share the address space
with the parent.
1998-01-04 03:52:02 +00:00
thorpej
43677af399
Regen: add __vfork14() at #282 .
1998-01-04 03:47:05 +00:00
thorpej
d36ffe9822
Add __vfork14() system call at #282 .
1998-01-04 03:45:21 +00:00
lukem
a76b9e2bee
document COMPAT_13
1998-01-04 00:44:20 +00:00
mikel
08d3b16fa0
init(8) lives in /sbin now
1998-01-03 09:03:27 +00:00
perry
db7fdfc8c4
/usr/{src,obj,pkgsrc} -> root:wsrc, 0775
1998-01-03 06:00:33 +00:00
thorpej
5739c88a75
Implement address space sharing (by keeping ref counts on the vmspace
...
structure). Many thanks to Chuck Cranor for debugging assistence.
1998-01-03 02:53:00 +00:00
thorpej
e1f13c8c99
Change shmfork() and shmexit() prototypes (vmspace *'s, not proc *'s).
1998-01-03 02:51:32 +00:00
thorpej
36780f9243
Make shmexit() and shmfork() take struct vmspace *'s, not struct proc *'s,
...
and update internal interfaces appropriately.
1998-01-03 02:50:32 +00:00
thorpej
b1cf620cfe
Update for additional argument to vm_fork() ("shared" boolean).
1998-01-03 02:49:30 +00:00
thorpej
bb2d5987ff
Don't call shmexit() if the vmspace ref count is not 1. Update for new
...
argument to shmexit().
1998-01-03 02:48:43 +00:00
thorpej
b9f1b716f3
Now that all ports have pmap_activate(), and it has an identical interface,
...
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej
b73f9750f6
Don't allocate PTEs in cpu_fork(); they were allocated when the new
...
process's pmap was created. Instead, use pmap_activate() to load the
page {0,1} base and length registers into the PCB for the hardware's use.
1998-01-03 00:37:31 +00:00
thorpej
aa58d4ac6b
Adjust for the fact that the page {0,1} base and length registers are now
...
stored in the pmap structure.
1998-01-03 00:35:28 +00:00
thorpej
f267fe868d
- Adjust so that access to the PCB is not required in most pmap functions.
...
Store the page {0,1} base and length registers in the pmap structure,
and implement pmap_activate(), which stores them in the PCB (for the
hardware's use).
- Re-implement pmap_pinit(); allocate the PTEs here, not in cpu_fork().
1998-01-03 00:34:02 +00:00
thorpej
172a9381b6
- Remove the PCB pointer from the pmap structure. Instead, store the
...
page {0,1} base and length registers in the pmap structure. They will
be loaded in to the PCB when the process's address space is activated
by way of pmap_activate().
- Remove pmap_pinit() macro; it's now a real function.
- Prototypes for pmap_pinit(), pmap_activate(), pmap_deactivate().
1998-01-03 00:28:43 +00:00
thorpej
d8076f896b
Grab the PCB directly from the u-area, not by indirecting through VM
...
structures.
1998-01-03 00:23:53 +00:00
thorpej
9ca174a51d
Implement pmap_activate().
1998-01-02 22:57:56 +00:00
thorpej
a6f228e498
Make pmap_activate() take a struct proc *.
1998-01-02 22:36:33 +00:00
thorpej
c162e92a71
Implement pmap_activate().
1998-01-02 22:17:18 +00:00
thorpej
f39e44955b
Make pmap_activate() take a proc *.
1998-01-02 20:37:28 +00:00
thorpej
d14e18faa9
Make pmap_activate() take a proc *.
1998-01-02 20:10:26 +00:00
ragge
5680284286
Fix problem in copy*str() when not emulating locc.
1998-01-02 19:33:27 +00:00
thorpej
dd966fca05
Change an argument name to PMAP_ACTIVATE() to more accurately describe the
...
semantics of the argument.
1998-01-01 20:05:23 +00:00
thorpej
287b63b321
- Make pmap_activate() and pmap_deactivate() take a struct proc *.
...
- Define active_user_pmap() and use it in the appropriate places (from hp300
port).
1998-01-01 19:52:50 +00:00
tv
581952e735
Use the boot/bootxx files from ${DESTDIR}/usr/mdec, not /usr/mdec.
...
(Avoid using "new" bootcode as part of a release, for uniformity.)
1998-01-01 17:48:50 +00:00
mikel
733dae35bc
use ${SIZE} instead of "size" (somehow this one got missed)
1998-01-01 08:11:41 +00:00
mikel
dfc54e91fd
replace /usr/games/bin with /usr/games in PATH, from Carl S. Shapiro
...
in PR 4733. add /usr/local/bin to PATH to match dot.cshrc.
1998-01-01 08:00:10 +00:00
enami
db1f766937
Add missing -C flag in SYNOPSIS
1998-01-01 04:51:54 +00:00
enami
2db041522a
Fix typo; the flag for interactive disklabel creation is not -e but -i.
...
Also, make the description of -C flag into separate paragraph.
1998-01-01 04:47:05 +00:00
enami
94f6d2b411
Fix usage; -i and -C flags are alway effective regardless of NUMBOOT.
1998-01-01 04:38:43 +00:00
enami
74a36a05ae
No longer needs to include sys/shm.h.
1998-01-01 02:43:18 +00:00
thorpej
8b5e0b6e06
Remove a couple of unneeded VM-related headers.
1997-12-31 19:32:55 +00:00
cjs
89951259ed
Add kernfs; remove more stuff we don't need.
1997-12-31 16:44:37 +00:00
thorpej
9c20093835
Make pmap_activate() and pmap_deactivate() take a struct proc *.
1997-12-31 10:12:55 +00:00
thorpej
a322314f51
Split out the code that prepares a VM space for exec into a new
...
vmspace_exec() function.
1997-12-31 07:47:41 +00:00
thorpej
1679a04502
Change a couple of exit()s to _exit(), to make it safe for vfork().
1997-12-31 06:59:54 +00:00
thorpej
0af223dbf1
Pull in prototypes, RCS IDs, and make this safe for vfork().
1997-12-31 06:56:04 +00:00