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
thorpej
80e25bcca0
Don't cast the null residual pointer passed to vn_rdwr().
1998-07-28 18:11:39 +00:00
thorpej
939279f988
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-28 17:58:29 +00:00
thorpej
bf51a1d137
uvm_deallocate() takes an address and a size, not an address range. From
...
ITOH Yasufumi <yasufu-i@is.aist-nara.ac.jp>, PR #5834 .
1998-07-24 20:47:59 +00:00
thorpej
fc4828b0b4
A few small changes to how pool pages are allocated/freed:
...
- If either an alloc or release function is provided, make sure both are
provided, otherwise panic, as this is a fatal error.
- If using the default allocator, default the pool pagesz to PAGE_SIZE,
since that is the granularity of the default allocator's mechanism.
- In the default allocator, use new functions:
uvm_km_alloc_poolpage()/uvm_km_free_poolpage(), or
kmem_alloc_poolpage()/kmem_free_poolpage()
rather than doing it here. These functions may use pmap hooks to
provide alternate methods of mapping pool pages.
1998-07-24 20:19:23 +00:00
sommerfe
1c2f0a15fd
Don't create the extent region pool until one of our callers is of the
...
opinion that it's safe to call malloc.
1998-07-24 06:40:45 +00:00
pk
4e465abf3f
Use a memory pool instead of malloc to allocate region descriptors.
1998-07-23 20:57:17 +00:00
pk
e32923a128
Re-vamped pool manager.
...
* support for customized memory supplier
* automatic page reclaim by VM system
* time-based hysteresis
* cache coloring (after Bonwick's "slabs")
1998-07-23 20:34:00 +00:00
lukem
786b86d71b
use AF_LOCAL instead of AF_UNIX
1998-07-18 05:04:35 +00:00
thorpej
4c50a37133
Back out previous, I botched something.
1998-07-16 00:46:50 +00:00
pk
3036bcf8e5
Close a descriptor leak. This proved especially detrimental under heavy
...
paging.
1998-07-15 12:38:29 +00:00
thorpej
b20c7bf68c
For SOCK_STREAM, provide the socket credentials to the accepter as soon as
...
the client connects.
1998-07-10 22:15:47 +00:00
jonathan
b37021c1a1
defopt NATM.
1998-07-05 22:48:05 +00:00
jonathan
d275e56dee
* defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
...
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
jonathan
011f2bda08
defopt NS, NSIP.
1998-07-05 06:49:00 +00:00
jonathan
5c0c5dd0b4
defopt ISO TPIP.
1998-07-05 04:37:35 +00:00
jonathan
8db0fcdbf7
defopt CCITT.
1998-07-05 02:12:22 +00:00
jonathan
3751946b97
defopt INET, NETATALK.
1998-07-05 00:51:04 +00:00
jonathan
466e784ee1
defopt DDB.
1998-07-04 22:18:13 +00:00
thorpej
e5f49cece3
Regen: pad off_t args in pread/pwrite/preadv/pwritev.
1998-07-02 01:24:24 +00:00
thorpej
d4e618b3a5
Argh, pad the off_t args in pread/pwrite/preadv/pwritev. System call
...
numbers don't change since the window of brokenness was so small (1 day).
1998-07-02 01:23:33 +00:00
thorpej
bc799897fc
Implement pread(2), pwrite(2), preadv(2), and pwritev(2).
1998-06-30 19:36:24 +00:00
thorpej
1f37d1d569
Regen: added pread(2), pwrite(2), preadv(2), pwritev(2).
1998-06-30 19:34:20 +00:00
thorpej
f0dda0d383
Add positional read and write system calls:
...
- pread() (#173 ) and pwrite() (#174 ), which are defined by XPG4.2. System
call numbers match Solaris.
- preadv() (#289 ) and pwritev() (#290 ), which are the positional cousins
of readv() and writev(), but not defined by any standard.
1998-06-30 19:33:11 +00:00
thorpej
b6781dbaa2
Split up read/readv/write/writev into the system call front-end and
...
the guts that actually perform the I/O request.
1998-06-30 07:39:22 +00:00
thorpej
a4a34ba74a
Add two additional arguments to the fileops read and write calls, a
...
pointer to the offset to use, and a flags word. Define a flag that
specifies whether or not to update the offset passed by reference.
1998-06-30 05:33:11 +00:00
nathanw
30cbf42b77
Implement short corefile name support, controlled by options SHORTCORENAME
...
and sysctl kern.shortcorename.
Closes PR kern/5191.
1998-06-28 21:34:58 +00:00
thorpej
816e12eac2
defopt COMPAT_SVR4
1998-06-26 00:07:06 +00:00
thorpej
37b378d836
defopt COMPAT_HPUX
1998-06-25 23:56:39 +00:00
thorpej
8aee7782f5
defopt COMPAT_SUNOS
1998-06-25 23:40:33 +00:00
thorpej
311bac3348
defopt COMPAT_IBCS2
1998-06-25 23:22:37 +00:00
thorpej
c466f11939
defopt COMPAT_LINUX
1998-06-25 23:18:23 +00:00
thorpej
1a2cb1b9d4
defopt COMPAT_FREEBSD
1998-06-25 22:49:18 +00:00
thorpej
6b781d156f
defopt NFSSERVER
1998-06-25 22:17:36 +00:00
thorpej
23e23646da
Regen: defopt NFSSERVER
1998-06-25 22:17:21 +00:00
thorpej
d87e6c2b0e
defopt NFSSERVER
1998-06-25 22:16:01 +00:00
thorpej
808867c7cf
defopt KTRACE
1998-06-25 21:17:15 +00:00
thorpej
5b5a9f45a5
Regen: defopt KTRACE
1998-06-25 21:16:58 +00:00
thorpej
d6289815b4
defopt KTRACE
1998-06-25 21:15:35 +00:00
sommerfe
7ba7fbbb23
Always include fifos; "not an option any more".
1998-06-24 20:58:44 +00:00
sommerfe
becaafeea0
defopt for options FIFO
1998-06-22 22:00:59 +00:00
thorpej
387a1c5d41
Implement config_defer(), a generic mechanism to defer the configuration
...
of a device until all of its parent's children have been attached.
1998-06-09 18:46:12 +00:00
kleink
636443752e
Nuke a couple of non-local prototypes which are already declared in either
...
<sys/buf.h>, <sys/mount.h> or <sys/vnode.h>.
1998-06-08 15:52:07 +00:00
thorpej
618c279d16
Add fine-grained locking. Still one refinement to make, which will be
...
done in a separate commit.
1998-06-06 02:25:46 +00:00
kleink
4648a78bba
Regen: addition of fdatasync().
1998-06-05 20:36:53 +00:00
kleink
e9d6f5e996
Per IEEE Std 1003.1b-1993, implement the fdatasync() system call which is
...
identical to fsync() with the expecption of not being required to synchronize
file status information.
1998-06-05 20:31:36 +00:00
kleink
382743ada3
Convert fsync vnode operator implementations and usage from the old `waitfor'
...
argument and MNT_WAIT/MNT_NOWAIT to `flags' and FSYNC_WAIT.
1998-06-05 19:53:00 +00:00
kleink
b5a587ab63
Regen: fsync argument change.
1998-06-05 19:41:21 +00:00
kleink
c77a008cc2
Replace the waitfor' argument to the fsync vnode operator with a
flags'
...
argument.
1998-06-05 19:38:56 +00:00
kleink
4c3bf73d01
Regen: mlock() and munlock() prototype changes.
1998-05-30 22:23:30 +00:00
kleink
bb7e6a0bdd
Per XSH98, const'ify the `addr' arguments to mlock() and munlock().
1998-05-30 22:21:03 +00:00
kleink
2a4b2482f5
Permit checking the availability of the POSIX File Synchronization Option
...
(a/k/a fsync(2)), System V style message queues, semaphores and shared memory
at runtime by adding a sysctl variable for each.
1998-05-24 19:52:01 +00:00
matt
b2c24dbcbe
Add an if_drain to the ifnet structure (call when the system is low
...
on mbufs). Add code to m_reclaim to call if_drain in each ifnet
that has one set. Remove register from declarations.
1998-05-22 17:47:21 +00:00
thorpej
ad7a87400a
defopt LOCKDEBUG
1998-05-20 01:32:29 +00:00
pk
d0e85dde99
Inline vref/vrele in vclean() because:
...
* we already have the vnode interlock, so vref() should not ask for it again.
* we call VOP_RECLAIM/VOP_INACTIVE(), which shouldn't be duplicated in vrele().
1998-05-18 14:59:49 +00:00
pk
addb5d9572
VOP_CLOSE() takes F* flags, not IO_* flags.
1998-05-08 21:02:35 +00:00
kleink
fe2d01988e
Fix some arithmetics lossage on typeless pointers.
1998-05-08 18:18:55 +00:00
kleink
bd6d376a49
Various SysV IPC prototype changes.
1998-05-07 18:00:49 +00:00
kleink
fb27bb18d3
Regen: various SysV IPC prototype changes.
1998-05-07 17:24:30 +00:00
kleink
e3611654cd
Several SYSV IPC prototype changes.
1998-05-07 17:08:42 +00:00
enami
9ad895e33c
Backout previous issignal() change so that gdb can trace a process
...
which has subprocess again; the lite2 change conflicts our local change.
1998-05-07 00:45:16 +00:00
thorpej
7f21dfafc1
Add monotonically increasing "current time" stamps for pfslowtimo() and
...
pffasttimo().
1998-05-06 01:11:46 +00:00
christos
1efd649b47
Regen
1998-05-02 18:34:13 +00:00
christos
02cecf686a
New fktrace syscall from Darren Reed [with fixes from me]
1998-05-02 18:33:19 +00:00
thorpej
73863dd3c9
Pass vslock() and vsunlock() a proc *, rather than implicitly operating
...
on curproc.
1998-04-30 06:28:57 +00:00
mycroft
f327fee4ca
Fix KTROP_CLEARFILE so it does the same thing as KTROP_CLEAR (i.e. vrele()
...
rather than vn_close()). Fixes PR 5357.
1998-04-28 22:27:22 +00:00
kleink
82eb51ee05
In soshutdown(), decouple the evaluation of the `how' argument from FREAD
...
and FWRITE; use SHUT_{RD,WR,RDWR} instead.
Also, return EINVAL if `how' is invalid.
1998-04-27 13:31:45 +00:00
thorpej
7a239c12c6
In vfs_unmountall(), if curproc is NULL, abort, because unmounting
...
puts the requesting process to sleep until the file systems buffers
have flushed, and sleeping with a NULL curproc will cause a fault.
1998-04-26 19:10:33 +00:00
thorpej
cbc64bb02d
Make vfs_shutdown() look a little nicer.
1998-04-26 18:58:54 +00:00
mycroft
359fa37f9a
Fix a condition where we might erroneously write out a buffer with garbage
...
left in it.
Fixes PR 5354.
1998-04-26 14:45:23 +00:00
matthias
818f5df269
new command "config" to set type (for c), constraint and printmodifier.
1998-04-25 19:48:27 +00:00
matt
754c43dcfc
Hook for 0-copy (or other optimized) sends and receives
1998-04-25 17:35:18 +00:00
jonathan
6c0abe64fc
defopt NTP and PPS_SYNC, in preparation for adding PPS support.
1998-04-22 07:08:11 +00:00
thorpej
2018d40811
Allocate kernel virtual address space for the U-area before allocating
...
the new proc structure when performing a fork. This makes it much
easier to abort a fork operation and return an error if we run out
of KVA space.
The U-area pages are still wired down in {,u}vm_fork(), as before.
1998-04-09 00:23:38 +00:00
mycroft
ca63148e3d
Oops; forgot to update prototype.
1998-03-30 06:18:05 +00:00
mycroft
f1ed6cae04
Argument to main() is no longer used.
1998-03-30 06:15:44 +00:00
mrg
af54a244f4
add missing int to typedef
1998-03-30 02:32:38 +00:00
mrg
f0fc5e8ca7
remove register from decl.
1998-03-29 05:19:43 +00:00
kleink
5d9a1f3207
Regen: syscalls.master changed.
1998-03-27 13:09:52 +00:00
kleink
3a1500efe9
Per X/Open CAE Spec Issue 5 Version 2, change the buffer size argument of
...
readlink() from type `int' to type `size_t'. This isn't an ABI change, since
the calling convention of our only LP64 platform (the Alpha) already promotes
this argument to a `long'.
This may not be the final action on this matter; readlink() still returns
an `int', which may change in a future revision of the standard.
1998-03-27 13:02:20 +00:00
thorpej
b436157e65
Make proc0 use the statically-allocate vmspace0 again, and make it use
...
the kernel's pmap, since proc0 (and other that share its address space)
are kernel-only processes, and should never contain userspace mappings.
This makes it easier to detect errors, like entering user mappings
for kernel processes, in pmap modules, and makes some sense, considering
that kernel processes are really just "thread contexts" for the kernel.
1998-03-27 01:52:01 +00:00
thorpej
272d8a4a38
Process 2 (the pagedaemon) always runs in kernel space, so share VM
...
space with proc0.
1998-03-22 18:22:07 +00:00
mycroft
2bb5067e13
Move the code to wait for carrier on a tty into a common function, since it
...
depends only on device-independent state bits.
Implement SunOS-style `dialout' devices.
1998-03-22 00:55:37 +00:00
mycroft
2ada4b4af1
Replace TS_WOPEN with t_wopen, per mail on tech-kern.
1998-03-21 04:02:47 +00:00
kleink
071ab13ebb
Move the permission check in change_owner() back to ufs_vnops::ufs_chown()
...
again - the facility required in this context would be a filesystem-specific
super-user determination, which is not available yet. Also, add some
clarification to a comment.
1998-03-10 11:49:33 +00:00
fvdl
1d02bb10d8
Clarify vget() comment a bit.
1998-03-04 09:13:48 +00:00
thorpej
9ebbb62608
Export spechash_slock; it's used outside of vfs_subr.c
1998-03-03 02:22:00 +00:00
thorpej
0080eaa0f5
Don't panic if DIAGNOSTIC in cluster_rbuild() if we aren't able to shed
...
memory in a buffer returned by geteblk(). Instrument the number of
occurrences.
1998-03-02 19:28:07 +00:00
ross
94ae870894
Compile post-lite2 with #ifndef DIAGNOSTIC
1998-03-01 09:51:29 +00:00
fvdl
78447a3cfd
Regen.
1998-03-01 02:29:59 +00:00
fvdl
e5bc90f40c
Merge with Lite2 + local changes
1998-03-01 02:20:01 +00:00
perry
a5385186b1
regen
1998-02-25 21:30:36 +00:00
perry
56c01cbd82
change second parm of sysarch() from char * to void *
1998-02-25 21:24:56 +00:00
chuck
5ad9218203
fix uvm-related protection error: we can't write protect the
...
vmcmd_map_readvn() area until after we do vn_rdwr(). should fix
problem reported by sean doran.
1998-02-23 18:53:22 +00:00
hannken
1bb761e96f
Didn't compile with option MEMORY_DISK_HOOKS.
1998-02-22 12:53:53 +00:00
mycroft
28e8037334
Fix missing newline in time zone warning.
1998-02-20 07:22:14 +00:00
pk
201f7cf6b4
Add option to use "static" storage provided by the caller.
...
From Matthias Drochner.
1998-02-19 23:51:48 +00:00
thorpej
95cd40bf13
Regen; makesyscalls.sh changed
1998-02-19 03:31:11 +00:00
thorpej
78a9bfbb1c
Argh, protect userland from includes in the syscall names file.
1998-02-19 03:30:24 +00:00
thorpej
2fc4c3415a
Include the UNION option header.
1998-02-19 00:53:46 +00:00
thorpej
990ca1baa0
Regen; syscalls.master and makesyscalls.sh changed.
1998-02-19 00:53:17 +00:00
thorpej
58fff16650
Include the NFS and LFS option headers.
1998-02-19 00:52:14 +00:00
thorpej
b0b3787d14
Include the NFS option header.
1998-02-19 00:47:02 +00:00
thorpej
0640c5a64f
Put #include directives in the system call names file, too, so we can
...
generate dependencies on optional system calls.
1998-02-18 23:14:55 +00:00
thorpej
9a3b52d482
Yay! This file is finally DEAD DEAD DEAD!
1998-02-18 07:17:13 +00:00
thorpej
d1f0dbf1b1
Don't use vfssw[], it's gone; use vfs_list instead.
...
Implement vfs_attach() and vfs_detach(), which add and remove file systems
from the kernel.
1998-02-18 07:16:41 +00:00
thorpej
6c57a3c322
Change vfs_opv_init_explicit() to not allocate the vnode operations
...
vectors; defer that to vfs_opv_init().
Change the interface to vfs_opv_init() and export it; it now takes a
pointer to an array of vnodeopv_desc *'s to initialize. Allocate
the vnode operations vectors here. Called by vfs_attach().
Implement vfs_opv_free(), which deallocates the vnode operations
vectors. Called by vfs_detach().
Change vfsinit() to build the initial vfs_list by traversing the
vfs_list_inital[] table, and vfs_attach()'ing those file systems.
Also, initialize special vnodeopv_descs (dead, fifo, spec) which
are not associated with any particular file system.
1998-02-18 07:15:30 +00:00
thorpej
c7a0984b02
vfssw[] is gone; use vfs_list instead.
1998-02-18 07:11:46 +00:00
thorpej
da61b242a0
Use vfs_attach()/vfs_detach().
1998-02-18 07:11:21 +00:00
kleink
f339e80ad6
Regen: syscalls.master change (addition of __posix_chown(), __posix_fchown(),
...
__posix_lchown(); posix_rename() -> __posix_rename()).
1998-02-14 20:05:53 +00:00
kleink
3404e6deb3
Implement __posix_chown(), __posix_fchown() and __posix_lchown(). Also,
...
rename posix_rename() to __posix_rename() to follow this convention.
1998-02-14 20:01:05 +00:00
kleink
3ef309317a
* Factor out some permission-checking code from ufs_setattr() into
...
change_owner().
* Change the semantics of chown(), fchown() and lchown(): when requesting a
change of the owner of a file, clear the set-user-id bit; analogous behaviour
for group changes.
* Since the above is a violation of the semantics specified by POSIX and
X/Open, add corresponding compatibility syscalls: __posix_chown(),
__posix_fchown(), __posix_lchown(). (Neither fchown() nor lchown() is
specified by POSIX; the prefix is intended to reflect the semantics.)
* Rename posix_rename() to __posix_rename() to follow the above convention.
1998-02-14 19:49:43 +00:00
kleink
59fe905973
Fix variable declarations: register -> register int.
1998-02-14 19:34:12 +00:00
thorpej
c1538fb038
Implement TIOCGSID.
1998-02-14 01:26:50 +00:00
thorpej
50c9f48319
Implement getsid(2), as defined by XPG4.2: returns the process group ID
...
of the session leader of the specified process's session.
1998-02-14 01:17:51 +00:00
thorpej
6da644fd03
Regen: syscalls.master changes (getsid(2))
1998-02-14 00:40:45 +00:00
thorpej
da187f7f6d
Reserve syscalls 283, 284, and 285 for 3 up-coming POSIX systems calls,
...
per kleink. Add XPG4.2's getsid(2) at #286 .
1998-02-14 00:39:33 +00:00
thorpej
d2924ae854
Prevent the session ID from disappearing if the session leader exits
...
(thus causing s_leader to become NULL) by storing the session ID separately
in the session structure. Export the session ID to userspace in the
eproc structure.
Submitted by Tom Proett <proett@nas.nasa.gov>.
1998-02-14 00:37:26 +00:00
kleink
af9cc34b3c
Add ONOCR and ONLRET output modes, from XPG4.2.
1998-02-13 21:53:44 +00:00
tls
561bc2f4ad
Remove rounding-down of hash size in hashinit(); support non &hashmask hash functions such as % [prime number] without bletcherous hacks.
1998-02-13 17:36:41 +00:00
kleink
0dc9b5452d
Fix variable declarations: register -> register int.
1998-02-12 20:39:41 +00:00
mrg
d90485202c
- add defopt's for UVM, UVMHIST and PMAP_NEW.
...
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
scottb
876dc027a1
added support for SCO UNIX (derived from iBCS2)
1998-02-09 01:29:10 +00:00
thorpej
1305ecbe62
Allow callers of uvm_km_suballoc() to specify where the base of the
...
submap _must_ begin, by adding a "fixed" boolean argument.
1998-02-08 06:15:53 +00:00
chs
ea8413cff7
whoops! undo GC, these are still used by OLDVM.
...
not paying attention...
1998-02-07 16:23:35 +00:00
chs
f64abc7b4c
add flags arg to hashinit(), to pass to malloc().
1998-02-07 02:44:44 +00:00
chs
0711fdaf0b
fix a locking problem by replacing the call to uvm_kernacc()
...
with an inlined version that uses kmem_map instead of kernel_map.
1998-02-07 02:40:36 +00:00
chs
d7d62b7ad3
snazzier LOCKDEBUG code.
1998-02-07 02:14:04 +00:00
chs
a4a3a88958
GC unused stuff.
1998-02-07 02:13:00 +00:00
thorpej
6b1ff3c892
When copying out multiple control messages, ensure that the next control
...
message is aligned. From David Borman <dab@bsdi.com>.
1998-02-06 23:19:26 +00:00
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
thorpej
d3eaf8a978
Rearrange disk_detach() slightly, and make a small run-time cosmetic
...
change in disk_unbusy().
1997-12-30 09:51:24 +00:00
kleink
087ac96d12
Update to last commit: do not pass the accounting flag to suser(), since the call does not actually *use* super-user privileges. Pointed out by Charles.
1997-12-21 18:50:57 +00:00
kleink
aa4d1febf1
Due to the feedback received, change chown(), fchown() and lchown() not to
...
clear the setgid and setuid bits if called by the superuser. Addresses
PR kern/4662.
1997-12-21 17:49:18 +00:00
pk
327c0046f9
Memory pool resource utility.
1997-12-15 11:14:57 +00:00
drochner
a9006ce5b9
Make ttyblock() work as intended and documented in canonical mode.
...
(operator precedence problem)
closes PR kern/2131 (Matthias Pfaller)
1997-12-12 12:49:40 +00:00
tv
0a558b3f1f
Standardize COMPAT_SUNOS -- remove all references to
...
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
1997-12-04 15:33:17 +00:00
kleink
5f6a03cb5b
Regen.
1997-11-29 18:43:25 +00:00
kleink
5d7a8f4a16
Modify the recent sigaltstack() interface change to use the __RENAME() scheme;
...
add __sigaltstack14().
1997-11-29 18:38:20 +00:00
kleink
08ca830d3b
Regen again to reflect correct syscalls.master version.
1997-11-25 21:10:48 +00:00
kleink
ef0caa8755
Regen.
1997-11-25 19:40:52 +00:00
kleink
a255f23ee3
In XPG4.2, the ss_size member of type stack_t (struct sigaltstack) is specified
...
to be of type size_t; since this imposes an interface change on the Alpha
(sizeof(int) != sizeof(size_t)), allocate a new system call number and make
the previous version a compatibility system call.
1997-11-25 19:32:15 +00:00
kleink
96dd101e9b
Add compat_13.
1997-11-25 19:02:50 +00:00
thorpej
e78682a0e2
In m_split(), restore m_pkthdr.len if an error occurs. From Koji Imada,
...
PR #3986 .
1997-11-20 04:28:18 +00:00
ross
3877611a5c
Put it back the way it was.
1997-11-17 00:59:56 +00:00
ross
42046e9698
A new kprintf was imported on 10/24, and it will cause a kernel panic
...
whenever the %: format is used on NetBSD/Alpha. Disable %: for __alpha__.
Note: the "correct" (but untested on other architectures) fix is to
change the wrong: kprintf(cp, oflags, tp, NULL, va_arg(ap, va_list));
to the right: kprintf(cp, oflags, tp, NULL, ap);
1997-11-15 09:27:33 +00:00
mycroft
402ecc3fed
Clean up code from last commit.
1997-11-10 08:26:09 +00:00
thorpej
e51d1d566c
Regen - syscalls.master changed.
1997-11-04 21:26:18 +00:00
thorpej
97d2a58201
Fix slight argument bogosity with getgroups(), setgroups(), select(),
...
and swapctl(). For the former three, they use an 'int' in their user-land
prototype which was a 'u_int' in the kernel, which screwed up automatic
generation/checking of lint syscall stubs. For the latter, the user-land
prototype uses a "const char *", but the syscall just used "char *".
From Chris Demetriou <cgd@pa.dec.com>.
1997-11-04 21:24:14 +00:00
gwr
d68fdf7187
Oops... That was meant for the head.
1997-11-04 20:45:22 +00:00
mjacob
91ea08e3cf
relocate where scsi devices are
1997-11-02 22:44:42 +00:00
enami
4589c896eb
Conditionalize the recognition of symbolic link permission by
...
per fs mount option `symperm'.
1997-10-30 22:47:06 +00:00
thorpej
3569d48361
defopt UCONSOLE
1997-10-28 01:53:50 +00:00
chuck
94fa91f862
import chris torek's vfprintf() from libc [renamed to kprintf and all
...
floating point stuff removed].
the new kprintf replaces the 3 different (and buggy) versions of
printf that were in the kernel before (kprintf, sprintf, and db_printf),
thus reducing duplicated code by 2/3's. this fixes (or adds) several
printf formats. examples:
%#x - previously only supported by db_printf [not printf/sprintf]
%8.8s - printf would print "000chuck" for "chuck" before
%5p - printf would print "0x 1" for value 1 before
XXX: new kprintf still supports several non-standard '%' formats that
are supposed to eventually be removed:
%: - passes an additional format string and argument list recursively
%b - used to decode error registers
%r - int, but print in radix "db_radix" [DDB only]
%z - 'signed hex' [DDB only]
%n - unsigned int, but print in radix "db_radix" [DDB only]
note that DDB's "%n" conflicts with standard "%n" which takes the
number of characters written so far and stores it into the integer
indicated by the "int *" pointer arg. yuck!
while here, add comments for each function explaining what it is
supposed to do.
1997-10-24 18:14:25 +00:00
sommerfe
436b905aba
Fix PR4313: kern.maxvnodes setting was a psychotic placebo
1997-10-21 18:51:06 +00:00
thorpej
fa87c324dc
Regen, syscalls.master changed.
1997-10-20 22:06:52 +00:00
thorpej
14cd99880c
Fix the shared library versioning snafu caused by the recent changes
...
to the stat(2) family and msync(2). This uses a primitive function
versioning scheme.
This reverts the libc shared library major version from 13 to 12, and
adds a few new interfaces to bring us to libc version 12.20.
From Frank van der Linden <fvdl@NetBSD.ORG>.
1997-10-20 22:05:06 +00:00
is
c7a9bfc5b5
Allow more than 4 (up to 16 now) virtual filesystems to be loaded.
...
Patch from Matthias Scheler, pr4299.
1997-10-20 17:40:07 +00:00
mycroft
b8267c1737
Count characters even when !OPOST and FLUSHO.
...
Don't output the \r for ONLCR if FLUSHO.
1997-10-19 20:35:21 +00:00
mycroft
9341cad610
After conversion of the file flags, if neither FREAD nor FWRITE is set,
...
return EINVAL.
1997-10-19 17:18:10 +00:00
mycroft
11c9f28f0e
Update comment.
1997-10-19 03:29:20 +00:00
mycroft
e704745a3c
Regen.
1997-10-19 03:26:22 +00:00
mycroft
606346112c
umask(2) accepts and returns a mode_t.
1997-10-19 03:25:55 +00:00
mycroft
04daee4f9c
Add const where appropriate.
1997-10-19 02:00:19 +00:00
mycroft
16519602c5
Minor change; remove unnecessary casts.
1997-10-19 01:50:33 +00:00
christos
0f4b4471a8
Regen.
1997-10-18 16:36:49 +00:00
christos
3130feba6d
Fixed missed const char * in lstat (thanks enami) and changed caddr_t -> void *
...
in the mman family.
1997-10-18 16:35:25 +00:00
christos
3c07a14a75
Separate assigments of tv_sec and tv_nsec since tv_sec is a time_t (int on
...
the alpha) and tv_nsec is a long.
1997-10-18 16:34:17 +00:00
enami
acd4cefee0
In the function vattr_null(), assign each member individually
...
to prevent unintended conversion due to different sign and size.
1997-10-18 11:51:32 +00:00
jonathan
e12d00b5e4
Add #include <sys/sysctl.h>, which in turn needs #include <vm/vm.h>.
1997-10-17 22:37:38 +00:00
thorpej
73b56bd5b0
Display The NetBSD Foundation, Inc.'s copyright notice at boot time.
1997-10-17 21:40:00 +00:00
christos
3f60774556
PR/4280: Chris Jones: Sending more than one fd over AF_UNIX sockets causes
...
panic. Bug in the fd -> struct file * conversion...
1997-10-17 17:35:08 +00:00
christos
bf5e4c3957
Regen
1997-10-16 23:42:20 +00:00
christos
9b763cbe70
change char *path to const char *path
...
change int to mode_t's and to dev_t's as appropriate
add new new stat syscem calls and make the old ones compatibility.
1997-10-16 23:41:31 +00:00
mycroft
d0a1101d26
Disable an effectively no-op reference to u_kproc, with an explanation of what
...
should be done with it eventually.
1997-10-16 02:45:39 +00:00
mycroft
91395f0f4f
Regen.
1997-10-15 17:28:40 +00:00
mycroft
5570f69778
Adjust u_int arguments of some system calls to int, to match user-level
...
prototypes.
1997-10-15 17:27:46 +00:00
mycroft
3a2dfc05e9
Regen.
1997-10-15 17:07:35 +00:00
mycroft
2587de6af9
Adjust u_int arguments of some system calls to int, to match user-level
...
prototypes.
1997-10-15 17:03:52 +00:00
explorer
80513cb5ae
o Make usage of /dev/random dependant on
...
pseudo-device rnd # /dev/random and in-kernel generator
in config files.
o Add declaration to all architectures.
o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
enami
8092be0770
Check exec bit of symbolic link when traversing path and do it in vfs layer.
...
Suggested by der Mouse. Ok'ed by Jason R. Thorpe.
1997-10-11 00:08:08 +00:00
enami
db7f1ad2ad
Check read permission of symbolic link in vfs layer, when doing readlink(2).
...
Suggested by der Mouse. Ok'ed by Jason R. Thorpe.
1997-10-11 00:05:15 +00:00
mycroft
61a9f1c6a6
GC pageproc and bclnlist.
1997-10-10 08:19:41 +00:00
fvdl
541b204984
Add vn_readdir function for use in both the old getdirentries and
...
the new getdents(). Add getdents().
1997-10-10 02:09:30 +00:00
fvdl
b691680ac4
Regen.
1997-10-10 02:07:55 +00:00
fvdl
ab03b9752b
Make last argument to VOP_READDIR off_t.
1997-10-10 02:07:00 +00:00
fvdl
5bfc60c1e5
Regen.
1997-10-10 02:05:21 +00:00
fvdl
da29e54dfb
Add getdents(). Rename getdirentries to compat_12_getdirentries.
1997-10-10 02:03:47 +00:00
explorer
dac3eb2c9b
make /dev/random standard, per message from Jason
1997-10-09 23:53:01 +00:00
explorer
d8e4695634
add hooks to initialize the random driver
1997-10-09 23:17:37 +00:00
mycroft
57f5a4a68d
Add another bit of const poisoning.
1997-10-09 13:05:59 +00:00
mycroft
8579e3480d
Make memname[] const (but only shallow, since the array may be modified).
1997-10-09 13:02:18 +00:00
mycroft
64d080efe0
Make various standard wmesg strings const.
1997-10-09 12:59:50 +00:00
mycroft
7f35228e7e
Make wmesg arguments to various functions const.
1997-10-09 12:49:44 +00:00
drochner
593f9e43c2
Fix error handling - call wakeup() in error case too.
1997-10-09 08:35:13 +00:00
jtc
324ce8d6cb
Fix tipo inherited from old version of TNF copyright template.
1997-10-09 07:37:50 +00:00
enami
d0c58d6217
Cosmetic changes;
...
- indent continuation line by four columns.
- delete whitespace after cast.
1997-10-09 01:07:46 +00:00
enami
9ad3575d65
- round up requested soft stack limit by vm page size.
...
- don't round up size and truncate addr.
1997-10-09 01:04:13 +00:00
thorpej
b4b543bc6f
In sys_mount(), use vfs_getopsbyname() rather than using an explicit
...
reference to vfssw[].
1997-10-09 00:39:19 +00:00
drochner
fa79dfb77e
Use a swap pager backed VM object for sysV shm instead of kernel VM.
...
Mostly from FreeBSD.
1997-10-07 10:02:03 +00:00
thorpej
c28cf8c168
A few simple changes to make this closer to something that can be generated
...
by config(8):
- Make the vfs ops and vnodeop_opv symbols match the name of the
file-system option used to configure the file system into the kernel.
- Now that sys_mount() has mountcompatnames[], remove the holes previously
used to preserve ordering for COMPAT_09 and COMPAT_43 mount system calls.
Also, add a comment that describes how I feel about the existence of this
file.
1997-10-06 09:25:00 +00:00
thorpej
c08ce9b419
If COMPAT_09 or COMPAT_43 are defined, include a table of "mount compatnames",
...
which maps the old file system index numbers to the new (well, since after
NetBSD 0.9) string-based method of finding a file system ops vector. Use
this table rather than assuming the ordering of the vfssw[] array when
emulating the old mount system call.
1997-10-06 09:19:11 +00:00
thorpej
176a81b2c5
Copyright assigned to The NetBSD Foundation.
1997-10-05 18:37:01 +00:00
veego
43e67d00a1
Regen with the correct NetBSD RCS ID from syscalls.master.
1997-10-04 17:43:31 +00:00
gwr
0554a69f18
more comments
1997-10-04 16:56:49 +00:00
enami
45a77d9452
Regen.
1997-10-03 15:07:24 +00:00
enami
9ccb5d2e4d
Add system call lchmod ( #274 ), lchown ( #275 ) and lutimes ( #276 ).
1997-10-03 15:06:18 +00:00
enami
83d3cd0ec7
New function sys_lchmod(), sys_lchown() and sys_lutimes() to manipulate
...
symbolic links.
1997-10-03 14:44:26 +00:00
enami
ea531316f0
- New function change_mode() to set mode given a vnode.
...
- New function change_utimes() to set access and modification times
given a vnode.
- In the function sys_chmod() and sys_fchmod(), call change_mode().
- In the function sys_utimes() and sys_futimes(), call
change_utimes().
1997-10-03 14:14:36 +00:00
enami
a117f2d89b
Reorder some piece of code;
...
In the function sys_utimes, do NDINIT() and namei() first.
In the function sys_futimes, do getvnode() first.
1997-10-03 13:46:02 +00:00
enami
dec1d15959
In the function sys_chmod and sys_utimes, use VOP_UNLOCK(vp) and vrele(vp)
...
instead of vput(vp).
1997-10-03 13:37:33 +00:00
enami
ba054536f8
Fold lone line to fit column < 80.
1997-10-03 13:32:06 +00:00
enami
9f882ea0ee
Cosmetic change;
...
(error = ...) -> (error = ...) != 0, like other place.
1997-10-03 13:29:20 +00:00
thorpej
a2721a0f1b
In vfs_shutdown(), do the "sync and wait for it to finish" _before_
...
unmounting all of the file systems. If we encounter a condition where
all of the dirty buffers could not flush, then don't unmount file systems,
since it might be likely to wedge.
1997-09-24 21:40:55 +00:00
pk
3aa9abb4d8
Use the copied-in string to pass to cpu_reboot(), not a pointer into user space.
1997-09-20 19:32:15 +00:00
drochner
7de20a5b45
Call device_register() on i386 too.
1997-09-20 14:16:43 +00:00
leo
d4713d24c2
Implement the kernel part of pr-1891. This allows for a more flexible sized
...
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
thorpej
27e54e6dc3
Prevent an extra newline from being printed if the root device is a network
...
interface.
1997-09-13 07:38:25 +00:00
mycroft
16a8787248
Fix execve(2) and *setregs() interfaces so emulations can set registers in a
...
more correct way. (See tech-kern.)
1997-09-11 23:01:44 +00:00
pk
ae6bc354b9
Use the macro PC_ADVANCE(), if defined, to skip over a breakpoint.
1997-09-10 19:37:31 +00:00
gwr
b1fe1c2452
Generalize somewhat (now works for alpha too).
1997-09-10 16:25:07 +00:00
veego
b79dba1b36
syscalls.master changed; regen.
1997-09-09 08:07:00 +00:00
veego
33a2f6fd68
Ups.
1997-09-09 08:05:35 +00:00
veego
b6cefe68ad
Move sys_minherit from 250 to 273 and add a comment why 240-269 are
...
reserved.
1997-09-09 08:04:11 +00:00
chuck
5ef067d288
syscalls.master changed; regen.
1997-09-08 18:12:29 +00:00
chuck
bca26d18f9
add sys_minherit (from openbsd)
1997-09-08 18:03:32 +00:00
thorpej
fc8c3e00e0
Bring changes from marc-pcmcia branch down to the trunk.
1997-08-29 00:47:18 +00:00
mycroft
f31ed493f7
Fix a mbuf leak in sosend() when we have a negative residual count.
1997-08-27 07:10:01 +00:00
kleink
66105c37fc
Lseek(2) usage cleanup: the use of L_SET/L_INCR/L_XTND is deprecated,
...
use SEEK_SET/SEEK_CUR/SEEK_END instead.
1997-08-25 19:31:43 +00:00
mikel
ed1e33aac5
replace gawk-specific C-style comments with generic AWK comments; from
...
Yasufumi ITOH in PR kern/4011
1997-08-20 06:58:10 +00:00
drochner
c6567d9100
eliminate unused variable warnings
...
closes PR kern/3946 by Erik Bertelsen
1997-08-06 16:57:33 +00:00
leo
d37dfbd5c2
Allow for more than one md-device.
1997-08-03 20:36:03 +00:00
mrg
e44b1e6182
add a patchable `lkmdebug' variable and only print debug messages
...
when certain bits are set.
1997-07-21 05:43:36 +00:00
fvdl
4ad51c2811
Allow multiple export requests for a filesystem, host pair if the flags and
...
anon cred are the same. Should probably be handled better in the mountd,
but this will do for now. Fixes PR 469, submitted Sept 1994 by
a certain "Jason R. Thorpe".. ;-)
1997-07-20 23:31:32 +00:00
phil
b1bfdee5fe
In sys_flock, change EBADF to EINVAL because error was generated by
...
a bad argument, not a bad file descriptor. (Found in response to
PR 2602.)
1997-07-17 17:54:40 +00:00
pk
37d77087e8
Check `b_dev' field in bdwrite() before using it as an index into bdevsw[].
...
`b_dev' value of NODEV happens and is normal if the buffer is on its way
to the underlying device strategy function for the first time.
Also, MFS sillily uses a major device number (255) which cannot be used
to index bdevsw[]. Check marked with XXXs.
1997-07-08 22:03:30 +00:00
pk
b7b1073fd0
In bread() and breadn(): if getblk() returns a DELWRI buffer, don't
...
call biowait() but return `success' immediately. We can return `success'
because buffers with recorded errors are not returned by getblk().
(Takes care of PR#3694).
1997-07-08 21:42:59 +00:00
christos
2b0c0d95ab
Make this work for SETUIDSCRIPTS:
...
- include <sys/stat.h> for S_ISUID, S_ISGID
- fix bug where shortcut to fail would use uninitialized variables.
- elide other warnings.
1997-07-08 02:32:02 +00:00
cgd
c96fac46ea
update for new vnode_if.sh
1997-07-07 20:19:54 +00:00
cgd
6542ece8e1
mark prototypes for static inline functions in the generated files as
...
possibly unused (with __attribute__ ((unused))), to avoid generating
warnings when compiling without optimization but with most ports' default
warning flags.
1997-07-07 20:17:36 +00:00
fvdl
6eecd789e6
There appear to be spinlock bugs in the VM code. They are not a problem
...
now, as we're always one on CPU (they will be later, though). With DEBUG,
they cause a lot of output, so DEBUG -> LOCKDEBUG for now.
1997-07-06 22:51:59 +00:00
fvdl
8f8988628d
Add NetBSD RCS Id, and a few minor changes to make it compile.
1997-07-06 12:35:33 +00:00
fvdl
f93a04da47
Import Lite2 locking code
1997-07-06 12:19:53 +00:00
thorpej
8dd0293cd3
Use UCHAR_MAX rather than "255" when sanity-checking the length of a
...
sockaddr in sockargs().
1997-06-26 06:13:36 +00:00
thorpej
1351e629b3
Several small changes to eliminate kludginess in dealing with unix domain
...
socket names:
- In unp_setsockaddr() and unp_setpeeraddr(), if the socket name can't
fit into a single mbuf, allocate enough external storage space to
hold it.
- In unp_bind() and unp_connect(), perform a similar operation, but allocate
one extra byte, and ensure that the pathname is nul-terminated.
Many thanks to enami tsugutomo <enami@cv.sony.co.jp> for the sanity
checking.
1997-06-26 06:06:40 +00:00
thorpej
e1fb68eb29
In sockargs():
...
- Add a comment describing my feelings about this interface, in general.
- Remove the COMPAT_OLDSOCK length hack. Instead, if the socket argument
is too long to fit in an mbuf, allocate enough external storage to
hold it.
- If the socket argument is a sockaddr, don't allow the length to be
greater than 255, as that would overflow sa_len.
Many thanks to enami tsugutomo <enami@cv.sony.co.jp> for his sanity checking.
1997-06-26 06:01:59 +00:00
thorpej
01cbda9800
In sbappendaddr(), if the sockaddr length is larger than will fit in
...
an mbuf, allocate enough external storage to hold the sockaddr. Thanks
to enami tsugutomo <enami@cv.sony.co.jp> for providing sanity-checks.
1997-06-26 05:56:38 +00:00
thorpej
6043eb7d80
Avoid running off the end of the format string if the caller botched
...
the format modifer. Reported by and suggested fix from Daniel G. Pouzzner
in PR #2633 . Final fix is slightly different now that we support the %q
modifier. This fix also includes the equivalent fix for sprintf().
1997-06-26 05:17:45 +00:00
thorpej
e14025e742
If KGDB is defined, pull in <sys/kgdb.h> for prototypes.
1997-06-26 00:43:10 +00:00
thorpej
319920c23a
Add "struct", "member", and "export" keywords, per PR #3555 , from
...
Ty Sarna <tsarna@endicor.com>.
1997-06-25 03:09:06 +00:00
fvdl
b5e26aee04
Invalidate publicly exported FS info when unmounting it locally.
1997-06-24 23:44:57 +00:00
fvdl
4702f17abc
Add functions to set/reset the info about the publicly exported
...
(WebNFS) filesystem. At first glance this should go into the
NFS code, but all the other export code is here as well.
1997-06-24 23:43:33 +00:00
thorpej
cd730bdd50
In sosetopt():
...
- Disallow < 1 values for SO_SNDBUF, SO_RCVBUF, SO_SNDLOWAT, and
SO_RCVLOWAT; return EINVAL if the user attempts to set <= 0.
Inspired by PR #3770 , from Havard Eidnes <he@vader.runit.sintef.no>.
- For SO_SNDLOWAT and SO_RCVLOWAT, don't let the low-water mark get
set above the high-water mark. Behavior is now consistent with
BSD/OS: If such an attempt is made, silently truncate to the high-water
value.
1997-06-24 20:04:45 +00:00
thorpej
a149ed59e4
Eliminate use of dtom() in the handing of UNIX domain sockets. Add an
...
"unp_addrlen" member to the unpcb, and use it when copying the socket
name. This eliminates that last uses of dtom() in the system.
1997-06-24 19:12:53 +00:00
kleink
df14b3b830
Add some robustness to ttymodem(), e.g. do not SIGHUP when there hasn't been
...
an actual carrier transition; from Charles M. Hannum.
1997-06-20 10:50:11 +00:00
pk
98ce8ab879
Remove __FORK_BRAINDAMAGEd code; it's no longer needed.
1997-06-19 20:54:15 +00:00
kleink
a0696b91ad
When a background process attempts to TIOC[CS]BRK (a.k.a. tcsendbreak()) or
...
TIOCSTART (a.k.a tcflow()), send its process group a SIGTTOU.
1997-06-18 15:32:33 +00:00
kleink
93da19a2f1
Rewrote break/parity/framing error handling from spec.
1997-06-17 20:41:59 +00:00
drochner
a52a25467d
Implement quad_t (%qx, %qd, %qo) printf formats.
...
Closes pr kern/3747.
1997-06-16 15:02:27 +00:00
thorpej
3fc5bf341d
Fix a slight botch in dumpdev configuration logic in the RB_ASKNAME
...
case if a network interface is selected as the root device.
1997-06-16 00:25:05 +00:00
thorpej
e94c4d3f1c
Call cpu_dumpconf() after cpu_rootconf().
1997-06-14 04:18:34 +00:00
thorpej
91f7efbaf9
Fix crash dump device selection after the recent swap changes:
...
- If RB_ASKNAME, prompt for the dump device, defaulting to
partition 'b' of the root device, if the root device is a disk.
- Else, if dumpspec is set to "none", do not configure a dump device.
- Else, if dumpspec is set by config(8), attempt to use that device.
- Else, dumpspec is wildcarded or unspecified; if the root device is
a disk, select partition b. (which was the previous default dump
partition)
Note, dumps to a local disk now work even if root is on nfs.
1997-06-14 04:17:32 +00:00
mrg
5321ad5c6f
regenerate.
1997-06-12 22:07:47 +00:00
mrg
9cee42ea7c
swapon back to compat_12 syscall..
1997-06-12 22:05:37 +00:00
mrg
32d6beee19
regenerate.
1997-06-12 21:47:09 +00:00
mrg
abe622f20b
for now, leave swapon(8) in place.
1997-06-12 21:41:56 +00:00
mrg
295af85e9e
remove swap configuration.
1997-06-12 17:12:17 +00:00
mrg
8986bdf82d
regenerate.
1997-06-12 14:49:11 +00:00
mrg
c59ed4fd4d
add sys_swapctl(), and deprecate, with COMPAT_12, sys_swapon
1997-06-12 14:23:46 +00:00
bouyer
276676cfbb
Support ext2fs.
1997-06-11 10:40:16 +00:00
kleink
372bfc7c08
Calculate returned timeval correctly when using SO_SNDTIMEO/SO_RCVTIME;
...
from Koji Imada <koji@math.human.nagoya-u.ac.jp> in PR/3682.
1997-06-11 10:04:09 +00:00
cgd
21bbd49bf2
in vfs_shutdown(), print "syncing disks... " before dropping to spl0(),
...
so that if the drop to spl0() causes another panic (e.g. because there's
still some fatal hardware interrupt that's pending) we'll know that we
dropped IPL to sync the disks.
1997-06-07 17:27:57 +00:00
veego
118a503048
Add HW_MACHINE_ARCH for the new sysctl hw.machine_arch which contains the
...
cpu class of a machine.
1997-06-06 23:14:36 +00:00
pk
f910dab2bd
Get `canwait' argument to kmem_malloc() right.
1997-06-06 10:51:49 +00:00
thorpej
f160cf5490
Prototype lkmdispatch() in <sys/lkm.h>; all LKMs use it.
1997-05-28 02:44:55 +00:00
thorpej
cf30e3e3c9
Prototype lkmexists() in <sys/lkm.h> as some LKMs might need to use it.
1997-05-28 02:41:41 +00:00
thorpej
5b2dc97efd
Move the test for "no rootspec and no bootdv" to after we've had a chance
...
to set rootspec in the case of "root on ? type nfs" and no bootdv was
found. From maximum entropy <entropy@tanstaafl.bernstein.com>, PR #3669 .
1997-05-25 19:20:30 +00:00
kleink
b7ba6138b6
If the pgrp_id argument of TIOCSPGRP (a.k.a. tcsetpgrp()) does not specify
...
an existing process group, return EINVAL.
1997-05-22 17:35:42 +00:00
gwr
5e15995438
Moved db_kill_proc() and db_show_all_procs() to ddb/db_xxx.c
1997-05-21 19:56:50 +00:00
gwr
55f621803a
Moved db_show_callout() to ddb/db_xxx.c
1997-05-21 19:55:45 +00:00
kleink
91830a9500
When a background process attempts to TIOCDRAIN (a.k.a. tcdrain()), send
...
its process group a SIGTTOU signal.
1997-05-20 13:11:33 +00:00
pk
153ccc307b
Use PHOLD() and PRELE(), rather than manipulating p_holdcnt directly.
1997-05-19 10:43:28 +00:00
kleink
2509589972
Add posix_rename() syscall: regen.
1997-05-18 20:07:27 +00:00
kleink
d3aadd8976
Add posix_rename() syscall.
1997-05-18 19:56:48 +00:00
thorpej
92c113aebb
Fix printf format botch.
1997-05-17 00:19:02 +00:00
gwr
09da7e273e
Eliminate vmspace.vm_pmap and all references to it unless
...
__VM_PMAP_HACK is defined (for temporary compatibility).
The __VM_PMAP_HACK code should be removed after all the
ports that define it have removed all vm_pmap references.
1997-05-16 21:39:50 +00:00
kleink
9827bd6dc6
When fstat(2)ing a file descriptor of a local communications domain socket,
...
fill the socket's creation time into the stat structure's st_[acm]time fields:
POSIX requires this behavior for pipe(2). N.B.: updating the st_[am]time fields
when reading/writing the pipe is neither required nor implemented, though.
1997-05-15 17:01:04 +00:00
thorpej
e98c5a9b1c
Fix two boundary/overflow errors in extent_alloc_subregion():
...
(1): "substart == ex->ex_end" and "subend == ex->ex_start"
are completely legal parameters for extent_alloc_subregion()
(2): "(subend - substart) + 1" can cause an overflow if the whole
numeric range is covered by the extent.
Submitted by Matthias Drochner <drochner@zelz26.zel.kfa-juelich.de>
in PR #3119 .
1997-05-12 23:36:32 +00:00
kleink
e7b98401d4
Pull in the declarations of db_expression() and db_error(), used by
...
db_kill_proc().
1997-05-08 17:22:05 +00:00
mycroft
8e39ee9dad
Don't use vaccess() here.
1997-05-08 17:16:15 +00:00
mycroft
ae5d73b594
Update for vaccess() change.
1997-05-08 17:08:31 +00:00
mycroft
06fb68217b
Oops; fix reversed test for VDIR.
1997-05-08 16:34:54 +00:00
mycroft
e3f99a9397
Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure
...
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.
1997-05-08 16:19:43 +00:00
mycroft
07ba5e5ac3
Snapshot of namei() cleanup:
...
1) Eliminate all of the null component name special cases; handle runs of
slashes and leading and trailing slashes completely differently.
2) Return ENOENT when doing a lookup through an empty symlink.
3) Enforce that we're doing a lookup through a directory in in chdir() and
lookup() rather than in foo_lookup().
Not yet finished.
1997-05-08 14:55:22 +00:00
mycroft
4d2eb6bb39
GC some code.
1997-05-08 12:17:47 +00:00
mycroft
837a72363d
VEXEC -> VLOOKUP, as appropriate.
1997-05-08 10:57:17 +00:00
mycroft
8f5978a181
GC VS[UG]ID and VSVTX, and add a new VLOOKUP, since the semantics are now
...
different from VEXEC.
1997-05-08 10:21:35 +00:00
mycroft
d7f33c5e60
va_mode contains stat bits. Use S_IS[UG]ID rather than VS[UG]ID.
1997-05-08 10:19:10 +00:00
gwr
9fa3dabef7
Moved db_show_all_procs() to kern_proc.c
1997-05-07 18:49:10 +00:00
gwr
48c524e63a
Add db_kill_proc() for DDB (and move db_show_all_procs here so
...
all the "proc" debugging stuff is here in one place).
1997-05-07 18:48:15 +00:00
tls
02697a5d47
add case for 512Hz in NTP code
1997-05-05 19:25:26 +00:00
mjacob
f67d760363
Ancient...needed a slight amount of fixing.
1997-05-04 01:54:24 +00:00
kleink
29c5707479
* Make chown()/fchown() use a piece of common code to set ownership.
...
* Setting the ownership of a file now implies clearing its set-{group,user}-id
bits.
1997-04-30 19:29:43 +00:00
mycroft
103c7d360d
Oops; forgot to GC the last mbuf allocated when out of clusters.
1997-04-28 17:03:58 +00:00
mycroft
2b65c6c346
Delay turning off P_TRACED until the process is actually waited on. It can't
...
have any signals delivered while exiting, so this should be okay. Change the
test for a traced process in wait4() to exclude a process that was started by
the debugger; in this case, only one SIGCHLD should be delivered.
1997-04-28 13:17:05 +00:00
mycroft
701f15db33
Reinstate P_FSTRACE, with different semantics:
...
* Never send a SIGCHLD to the parent if P_FSTRACE is set.
* Do not permit mixing ptrace(2) and procfs; only permit using the one that
was attached.
1997-04-28 04:49:27 +00:00
mycroft
43a0dc8b74
Remove remnants of P_FSTRACE, which is no longer used.
1997-04-28 02:51:41 +00:00
mycroft
ead5e1a6f7
When stopping a process being traced through procfs, wake up the *parent* (in
...
case it happens to be doing a WAIT.
1997-04-28 02:36:05 +00:00
mycroft
e725c03060
When checking for init, compare against initproc, rather than comparing the
...
PID. No functional difference.
1997-04-28 02:29:52 +00:00
tls
3a98883bd3
Don't allow the time to be set backwards if in highly secure mode, since this would allow inode change times to be manipulated.
1997-04-26 21:22:57 +00:00
mycroft
c32418bf82
Fix error in vfs_hang_addrlist() that caused file systems to be exported
...
to more subnets than expected when using netmasks. From Mike Hibler.
1997-04-25 02:43:10 +00:00
mycroft
9da4efe896
If we fail to allocate a cluster to hold a large packet, simply
...
drop it rather than using a chain of tiny mbufs.
1997-04-24 08:14:04 +00:00
mycroft
5e62a0725b
Change previous test slightly.
1997-04-23 20:19:45 +00:00
mycroft
b34794e10f
Do not return success when checking for execute permission by super-user and no
...
execute bits are set. Also, this test is no longer needed in execve(2).
1997-04-23 20:18:16 +00:00
mycroft
1cf91041df
Nuke the old COMPAT_09 truncation of UIDs, GIDs, process and process group IDs.
1997-04-23 18:59:53 +00:00
jtc
2114c082ae
In nanosleep, use local error variable when storing rqtp in so that
...
an error from a failed tsleep will still be returned to the caller.
1997-04-21 16:56:54 +00:00
thorpej
5ca650f210
XXX Kludge for PowerPC; needs a kernel vfprintf().
1997-04-17 00:06:28 +00:00
jtc
c9b0c57620
Add POSIX.1b nanosleep().
1997-04-16 14:41:28 +00:00
kleink
e490ffb5cc
Addendum to last commit: "simplify" usage of a vnode pointer.
1997-04-11 22:08:28 +00:00
kleink
589549e022
Use VOP_SEEK() in lseek(2).
1997-04-11 22:03:58 +00:00
jtk
a817214f5f
make it compile with -DLOCKF_DEBUG
1997-04-10 23:46:18 +00:00
kleink
cb9c71d716
Back out last change: just return EACCESS for any non-VREG file.
...
Fixes PR/3472 from Matthias Pfaller.
1997-04-10 19:45:40 +00:00
cgd
319b64a8f7
Internalize and externalize file descriptors being passed via local domain
...
socket control messages correctly, without assuming that sizeof(int) ==
sizeof(pointer). Fixes PR#3183.
1997-04-10 01:51:21 +00:00
kleink
116d655640
Back out POSIX.1 conformance change to lseek(2); this will be attended to
...
in a different way.
1997-04-09 23:26:06 +00:00
mycroft
6911ff7d13
Fix two performance issues:
...
* When a delayed write buffer falls off the LRU queue, arrange for it to go on
the AGE queue after being flushed out to disk.
* When a delayed write buffer is synced, leave it in its relative position in
the LRU queue.
1997-04-09 21:12:10 +00:00
kleink
513465cc2c
Added a sanity check to the force-directory routine, as the CREATE and
...
RENAME namei() operations may succeed without returning a vnode.
1997-04-08 16:11:48 +00:00
kleink
43bd8d5456
POSIX.1 changes to namei():
...
(1) "" no longer refers to the current working directory;
looking this up will now result in ENOENT.
(2) by stripping off trailing slashes and setting a `forcedir'
flag, make code such as { mkdir("dir", m); rmdir("dir/"); }
actually work.
1997-04-08 10:11:55 +00:00
kleink
a0dca5145e
Fix a CRNL/NLCR botch I made after looking this up in the X/Open spec.
...
Fixes PR 3453; from John Kohl and Enami Tsugutomo.
1997-04-07 16:09:28 +00:00
kleink
9300dedf8e
Back out last change to rename(2) until a sane solution for the coexistence
...
of both BSD and POSIX semantics is available.
1997-04-07 00:04:16 +00:00
kleink
4256cf1898
Add some clarification about the TTBREAKC macro's purpose; suggested by
...
Chris G. Demetriou.
1997-04-06 14:44:44 +00:00
cgd
c65f7b2d9a
fix missing parenthesis in TTBREAKC()
1997-04-06 08:15:17 +00:00
kleink
dbf70fddf5
If TOSTOP is set, and the process group of the writing process is orphaned,
...
and the writing process is not ignoring or blocking SIGTTOU, do not signal
the process but return EIO.
1997-04-05 21:40:34 +00:00
kleink
c028733220
Recognize EOL2 as a delimiter/"break" character only if IEXTEN is set.
1997-04-05 19:50:18 +00:00
mycroft
c4cd861045
Remove unintended piece of last change.
1997-04-04 21:05:00 +00:00