Commit Graph

1437 Commits

Author SHA1 Message Date
mrg 5ef401eaaf oops, forgot to add this file earlier. 1998-02-05 14:58:45 +00:00
mrg 1a8c7604f4 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)
1998-02-05 07:59:28 +00:00
thorpej 96f3f45d08 When loading a VFS LKM, use vfs_getopsbyname() to check if the file system
already exists.
1998-02-03 09:18:03 +00:00
thorpej ec98cfce8a sys_mount(): Use vfs_getopsbyname() rather than groveling the vfssw[]
manualls.
1998-02-03 09:11:55 +00:00
ross 7516424fe6 Teach the NTP PLL how to lock when hz == 1000. 1998-01-31 10:42:11 +00:00
thorpej 4c54445530 Use offsetof() from libkern.h 1998-01-28 02:35:10 +00:00
thorpej 2ee3e0153d Generate dependencies on the exec format options EXEC_AOUT, EXEC_ECOFF,
EXEC_ELF32, EXEC_ELF64, and EXEC_SCRIPT.
1998-01-22 01:32:14 +00:00
thorpej ea9ade0496 Generate dependencies on the INSECURE option. 1998-01-22 01:18:30 +00:00
thorpej 6428828e64 Const'ify the extent name. 1998-01-21 22:33:49 +00:00
thorpej 66abe4217c Implement an activity log for malloc() and free(), useful for tracking
down "Data modified on freelist" and "muliple free" problems.

The log is activated by the MALLOCLOG option, and the size of the
event ring buffer is controlable via the MALLOGLOGSIZE option (default
is 100000 entries).

From Chris Demetriou, cleaned up a little by me per suggestions in the
e-mail from Chris that contained the code.
1998-01-21 22:24:32 +00:00
thorpej 561056f2e2 Grab a fix from 4.4BSD-Lite2: open(2) with O_FSYNC and MNT_SYNCHRONOUS
had not effect.  Fix: check for either of these flags in vn_write(),
and pass IO_SYNC down if they're set.
1998-01-14 22:08:44 +00:00
perry 3fe138c146 RCS Id Police. 1998-01-09 08:03:16 +00:00
thorpej c5a2e825a0 Regen. 1998-01-09 06:41:17 +00:00
thorpej b59d427988 Add RCS IDs to generated files, in correct place. 1998-01-09 06:40:43 +00:00
thorpej 95b0f526ca Oops, thinko 1998-01-09 06:17:51 +00:00
thorpej 9a4eec1ed1 Regen. 1998-01-09 06:14:57 +00:00
thorpej 1a49aac581 Regen. 1998-01-09 06:09:17 +00:00
thorpej f35d097c86 Put RCS IDs in generated files, in the right place. 1998-01-09 06:07:26 +00:00
mrg a20d56e92e add new version of non contiguous memory code, written by chuck cranor,
called "MACHINE_NEW_NONCONGIG".  this is required for UVM, the new VM
system (also written by chuck) that is coming soon.  adds new functions:
	vm_page_physload() -- tell the VM system about an area of memory.
	vm_physseg_find() -- returns index in vm_physmem array that this
		address is in.
and several new versions of old functions/macros defined in vm_page.h.

this is the MI portion.  sparc, and then later i386 portions to come.
all other ports need to change to this ASAP!  (alpha is already being
worked on)
1998-01-08 11:36:16 +00:00
thorpej 655a55141c Regen: Back out RCS ID related changes. 1998-01-08 01:07:24 +00:00
thorpej 5713d318b8 Back out RCS ID related changes. 1998-01-08 01:06:50 +00:00
thorpej 585f0dec73 Regen: back out RCD ID related changes. 1998-01-08 00:17:11 +00:00
thorpej d76d905b2f Back out RCS ID related changes. 1998-01-08 00:16:25 +00:00
thorpej cbf3cc6bb8 Make insertion and removal of sockets from the partial and incoming
connections queues O(C) rather than O(N).
1998-01-07 23:47:08 +00:00
thorpej cc22126721 Implement passing credentials as ancillary data on Unix domain sockets,
enabled with the LOCAL_CREDS socket option on the listener.  Semantics are
similar to BSD/OS's:
- Creds are available with first data on SOCK_STREAM, and with every datagram
  on SOCK_DGRAM.
- It is not possible to forge credentials.

Different in that:
- Different credential data structure (ours does not rely on the format
  of internal kernel data structures, and does not pass the login name).
- We can pass creds and file descriptors at the same time (this does not
  work in BSD/OS).

Luke Mewburn <lukem@netbsd.org> gets credit for inspiring me to implement
this.  :-)
1998-01-07 22:57:09 +00:00
thorpej cf89ccf13e Add uipc_ctloutput(). 1998-01-07 22:50:42 +00:00
thorpej b981fc4d34 Fix bug in recvit() that would cause recvmsg() to only receive one
control message, even if there were multiple control messages on
the queue.  From Jean-Luc Richier <Jean-Luc.Richier@imag.fr>, in
bug report kern/4700.
1998-01-07 05:49:25 +00:00
thorpej e918c058f1 Fix passing of multiple file descriptors (was broken when code was made
64-bit safe).
1998-01-07 04:03:38 +00:00
thorpej 974b59d07c Happy new year! 1998-01-07 00:41:43 +00:00
thorpej 052b639ac1 Clean up the forking of init and the pagedaemon slightly: call fork1()
directly (which provides a pointer to the new process).
1998-01-06 21:18:00 +00:00
thorpej 07216d15fc Allow retval to be NULL, filling it in only if it was passed. 1998-01-06 21:15:41 +00:00
thorpej c2768af3d4 Garbage-collect cpu_set_init_frame(); it hasn't been needed for some time
now.
1998-01-06 08:06:45 +00:00
perry 3a47434df3 regened with RCSIDs in place 1998-01-05 19:14:39 +00:00
perry 02e9346e57 fix RCS ids insertion so it really works 1998-01-05 19:13:04 +00:00
perry 9b0894473d make script insert RCS ids into generated files 1998-01-05 18:45:02 +00:00
perry 8309b37a61 ugh. escape rcs tags so that the script doesn't get messed up. 1998-01-05 18:19:35 +00:00
perry 4dc846816b put RCS ids in the output files. Not essential, but useful. 1998-01-05 18:09:44 +00:00
perry a69b5af889 regened with RCSID 1998-01-05 18:06:27 +00:00
thorpej 2e85747e9e From 4.4BSD-Lite2 (noted by Frank van der Linden):
so_linger is used as an argument to tsleep(), so was stuffed with
clockticks for the TCP linger time.  However, so_linger is set directly from
l_linger if the linger time is specified, and l_linger is seconds (although
this is not currently documented anywhere).  Fix this to set the TCP
linger time in seconds, and multiply so_linger by hz when tsleep() is
called to actually perform the linger.
1998-01-05 09:12:29 +00:00
thorpej ce340c6ca5 Also pass fork1() a struct proc **, in case the caller wants a pointer
to the newly created process.
1998-01-05 05:16:26 +00:00
thorpej 5703397593 Initialize proc0's file descriptor table with fdinit1(). 1998-01-05 04:52:48 +00:00
thorpej 6382d6dd79 Implement file descriptor table sharing. Partially from FreeBSD. 1998-01-05 04:51:15 +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
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
enami 74a36a05ae No longer needs to include sys/shm.h. 1998-01-01 02:43:18 +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