Commit Graph

298 Commits

Author SHA1 Message Date
cgd 02d6aea5bf Add the System V message queue and semaphore facilities. Implemented
by Daniel Boulet <danny@BouletFermat.ab.ca>
1993-11-14 13:08:09 +00:00
cgd a7c7f39bad fix to keep acctwatch() from being called before the vnode is unlocked.
from Mark Tinguely <tinguely@plains.nodak.edu>.
1993-11-14 06:55:24 +00:00
cgd c6ff42e027 from Mike Karels, via bsdi-users: nuking session pointer prevents cleanup. 1993-11-12 15:15:57 +00:00
cgd 76dbc1192b new specfs.h and fifo.h locations 1993-11-12 05:54:12 +00:00
mycroft f86975f0f0 Clean up deleted files. 1993-11-12 03:44:43 +00:00
glass af72539915 T_LINEP member of struct tty becomes t_sc. This replaces the
#define t_sc T_LINEP
that appear in tty_tb.c, if_sl.c, and if_ppp.h
1993-11-09 06:22:08 +00:00
cgd 8068dd9add fix from david greenman, davidg@freefall.cdrom.com:
sosend was attempting to reserve space in an mbuf cluster for a datagram
header and because of bugs in the sosend's mbuf allocation algorithm,
sosend was calling uiomove twice as many times as was necessary. It turns
out that PREPEND does the right thing when a cluster is associated with
an mbuf header, so the datagram header allocation can be defered. This
also ends up additionally consuming one less mbuf for the TCP protocol
because TCP always allocates another header mbuf regardless if space is
available to prepend the protocol header. The net result of this fix is
that unix domain and pipe throughput is increased by a measured 10%.
1993-11-05 23:00:27 +00:00
cgd 8900ab37e3 clean up, move some XXX's around, and note that one or two things should be
replaced with timeval{add,sub}, and generally be made more sane.
1993-11-03 09:08:42 +00:00
glass 3e21ea2e33 tablet line discipline compiles and probably works now. 1993-11-02 06:19:24 +00:00
glass bee2279a89 removed unnecessary #ifdef. config does the right thing. 1993-10-31 19:36:33 +00:00
glass 7a7e6dbd95 removed slip and ppp specific prototypes from tty.h where they didn't belong.
moved them to tty_conf.c within #if Nwhatever > 0 where they do belong.
made sure that if_sl.c, and if_ppp.c still compile quietly.
1993-10-31 19:27:45 +00:00
glass 5e6a2e33c0 fix chris typo. 1993-10-30 16:11:07 +00:00
cgd b73e5e6647 kill the process 'space' accounting collection for the following reasons:
(1) text calculation incorrect (would 'overbill')
	(2) data calculation incorrect (would 'overbill')
	(3) the maxrss calculation uses stuff which isn't present
		on the sparc.
if 3/4 tests are questionable and/or broken, well...
1993-10-29 19:49:25 +00:00
cgd 06c4106aec limit block sizes requested 1993-10-29 19:25:18 +00:00
cgd 436e431478 BSDI official patch #15:
SUMMARY:
    "panic: vrele: null vp", the problem seems to be that two renames are
    moving the same source, and the second one can't do it.
ALSO:
    in sync, check that rootfs is non-null before using it.
1993-10-27 02:33:40 +00:00
cgd 299ff91b14 BSDI official patch #14:
SUMMARY:
    Here is a patch for a kernel hang that can be provoked with a write
    or send of a negative amount.  The talk program is capable of exercising
    this bug.  This patch also includes a fix for a bug that caused data
    to be delivered to TCP in smaller chunks than desired, and which caused
    TCP to send a short packet when starting up.  Finally, there is a bug
    fix for MSG_PEEK with an oobmark pending.
1993-10-26 22:36:25 +00:00
cgd 889b512ea4 if you try to allocate a buffer larger than MAXBSIZE, panic. 1993-10-26 19:38:55 +00:00
mycroft 118cdf4851 Clean up deleted files. 1993-10-26 13:15:17 +00:00
cgd 13ca4d98c7 it's correct to return EACCES if FS is mounted MNT_NOEXEC. 1993-10-26 01:42:56 +00:00
cgd c7582cbd4f use copyinstr rather than strcpy to copy in the saved shell-script
name from userland.  From Markus Wild, mw@lamp
1993-10-26 00:32:29 +00:00
cgd ce7108c729 slightly clean up ws's original patch to this file for the sense
of wait vs. nowait.  this patch from torek.
1993-10-22 02:48:35 +00:00
cgd f784b878c2 ACCOUNTING define doesn't exist any more... 1993-10-20 23:04:33 +00:00
cgd 9ceb615f82 add some timeout_t typedefs 1993-10-20 00:53:34 +00:00
cgd fc8ee7437c knf'ify, clean up some, move sysacct() args out of function declaration. 1993-10-20 00:45:34 +00:00
cgd 287eb9a50e delete my '/dev/acct'-style accounting in favor of the version written by
Mark Tinguely (tinguely@plains.NoDak.edu).  It's the 'standard' way
of doing accounting, rather than a wacky one.
1993-10-20 00:16:40 +00:00
cgd 2ff9ed5060 fix my last change; for some reason i thought that 'p' was defined
in these functions.  use curproc instead.
1993-10-19 23:41:44 +00:00
cgd ddd610e422 from Mark Tinguely, with mods by davidg and then fially fixed by cgd.
do the space-used integration, over time, for processes.
1993-10-19 23:37:50 +00:00
cgd dfaa02a09b pay for block i/o. slightly different than how done by Mark Tinguely. 1993-10-19 02:47:56 +00:00
cgd dd818c7cd0 get rid of __main() -- it's going into libkern 1993-10-15 06:16:22 +00:00
deraadt c52686ddb3 from magnum branch: nbqd() was broken 1993-10-13 03:15:57 +00:00
cgd a84055b552 use the ALIGN macro to align the stack, rather than rounding up
by a (char *).  the former is safe, even on strange machines
(read: sparc).
1993-10-06 07:27:58 +00:00
cgd 714fa4716b changed the Debugger() call, which not all kernels have, to panic(),
but only when DIAGNOSTIC is defined.
1993-10-06 07:24:21 +00:00
cgd 772436479d new, improved, and rationally-implemented vfs_bio. no more serious
structural changes should happen, as it now does the right thing
w.r.t. buffer resizing and having lots of buffers vs. relatively
little buffer space.  Ports can now "do the standard thing", re:
nbuf and bufpages, which is make nbuf = bufpages by default.
1993-10-04 04:56:28 +00:00
mycroft 9a1fcf008b Update after fixing syscalls.master. 1993-10-02 09:55:09 +00:00
mycroft c05111e593 Put back the $'s in the RCS id that the last commit removed. 1993-10-02 09:51:40 +00:00
cgd e27f6e3ea0 patch from Christoph Badura <bad@flatlin.ka.sub.org> to fix credential
use by read-ahead blocks.  This fixes those weak NFS authentication
messages, and allows us to use BSDI NFS servers again...
1993-10-01 21:47:11 +00:00
cgd 1d0f22a29a convert to use the buffers which are (now) statically allocated at
startup in machdep.c...  buffers are now *never* allocated after boot.
currently, the limitation that says bufpages must cover nbuf*MAXBSIZE
still exists, but this is one step closer to removing that limitation.
1993-09-29 04:49:15 +00:00
cgd 4a21fe3648 ifdef out the ttyfree()'s, so that fill_eproc doesn't panic when
a process's session still holds a ref to a tty which has been deallocated
and reused.
1993-09-29 02:36:21 +00:00
cgd 94ac210002 rewrite biodone to the spec in the daemon book, and to account for
the fact that buffers with B_CALL set shouldn't be brelse()'d.
1993-09-21 00:40:02 +00:00
brezak 1905040ad2 Add sysarch() syscall. 1993-09-19 18:55:38 +00:00
cgd 9c32bc786a make allproc be volatile, and cast things accordingly.
suggested by torek, because CSRG had problems with reordering
of assignments to allproc leading to strange panics from kernels
compiled with gcc2...
1993-09-15 22:30:32 +00:00
mycroft 40222e846f Fix from Noriyuki Soda <soda@sra.co.jp>:
recvmsg(2) always returns -1 with errno==EMSGSIZE, when trying
        to pass file descriptors through UNIX domain socket.
1993-09-14 03:35:08 +00:00
glass 0c9ec05f20 check return codes on copyout()s, panic if they fail. 1993-09-12 07:56:22 +00:00
jtc 070f4a7f50 Removed functions moved to libkern: strcpy, strcmp, strlen, ffs, etc. 1993-09-11 00:08:03 +00:00
phil de69711383 These changes are due to a mismatch with user functions prototyped as
func(short) and the fact the the kernel uses full ints.  This caused
problems on the pc532 port.  These fixes take the good 16 bits passed
by the user program and converts them into the correct form for the
kernel.
1993-09-09 22:03:59 +00:00
mycroft 64540d3533 Patch from David Greenman to reduce CPU usage during network transmit. 1993-09-08 21:12:49 +00:00
ws 053f138dae Changes to VFS readdir semantics
NFS changes for better cookie support
ISOFS changes for better Rockridge support and support for generation numbers
1993-09-07 15:40:14 +00:00
mycroft 526dbecdb2 A little more cleanup; 0 --> FALSE and 1 --> TRUE. 1993-09-06 02:06:34 +00:00
mycroft cc054a83e7 De-ANSIfy and re-KNFify. 1993-09-06 02:03:03 +00:00
mycroft 29aea147e8 Add \n to end of error message. 1993-09-05 22:07:31 +00:00
sef b477be52eb Yet more of the ptrace() reorg; now ptrace_setregs() and ptrace_getregs()
are present, along with PT_GETREGS and PT_SETREGS ptrace commands.
1993-09-05 03:53:52 +00:00
cgd 15359c9f59 enable loadable execution handlers. need to do something better re:
how much of the file to pass in the exec package, but i think the
solution to that will be to pass e.g. a disk block's worth, or whatever;
if exec handlers really need more, they've got the damned vnode.
1993-09-05 01:36:28 +00:00
cgd 83aeee1bc0 there now exists an "exec switch". break the a.out code into another
module, and tidy up the interface so that other object formats are
more easily supportable.
1993-09-05 01:33:35 +00:00
cgd a05bd46763 patch from Szabolcs Sziget <pink@bagira.fsz.bme.hu> to load lkm device
drivers properly.
1993-09-05 00:55:57 +00:00
sef fddf2c7605 ptrace_single_step() and ptrace_set_pc() should return errors if
necessary.  (Mainly because the SPARC can't easily single step, so
it should return EINVAL, and then ptrace() should return that to the
user.)
1993-09-04 08:46:36 +00:00
cgd 3aa99f85dc better ptrace() support from Sean Eric Fagan <sef@kithrup.com> 1993-09-04 05:32:18 +00:00
cgd 6a474f29e2 get rid of maxdmap, and seperate MAXDSIZ and MAXSSIZ in rlimit checking. 1993-09-04 00:37:54 +00:00
jtc 9c00bc072d Include systm.h to get prototypes (and possibly inlines) of *max functions.
Change mbinit() to match prototype.
1993-09-04 00:01:43 +00:00
cgd 491d6b4b9d fix problem where exec would lose on shell scripts with symlinks in
their names.  fix from "James W. Dolter" <jdolter@sawtooth.eecs.umich.edu>.
test script:

#!/bin/csh
mkdir /tmp/foodir
cat > /tmp/foodir/testscript <<EOF
#!/bin/sh
echo "Executing script \$1"
EOF
chmod 755 /tmp/foodir/testscript
(cd /tmp ; ln -s foodir foosym)
echo "Trying full path (w/o symlink) to /tmp/foodir/testscript"
/tmp/foodir/testscript "with out symlink"
echo "Trying full path (w/ symlink) to /tmp/foosym/testscript"
/tmp/foosym/testscript "with symlink"
echo "End of Test"
1993-09-01 21:43:50 +00:00
deraadt 28c37a0949 fixed a little /lib/cpp boo-boo 1993-08-31 13:46:31 +00:00
cgd d365662684 ok, initialize that errno, to make theo and gcc2 happy... 1993-08-31 01:52:34 +00:00
cgd 518f7c78d6 a program being exec'd *must* cause *some* exec commands to be invoked;
if it doesn't there's a problem in the kernel, because a program
with no exec commands run will have no address space except the stack,
and i don't think it's valid to have a "run from stack only" exec type,
so panic.  if need for that case comes up later, it can be changed...
1993-08-31 01:46:36 +00:00
deraadt 6fce70ed63 blast it, i forgot two ('s 1993-08-30 06:25:10 +00:00
deraadt 9aed375ba3 tty XXstart() routines return void 1993-08-29 13:46:31 +00:00
deraadt bab3a9ce58 added two __P() macros 1993-08-29 13:16:04 +00:00
cgd b1eacffd69 print more DIAGNOSITC info, and startrtclock early on the mac (like i386) 1993-08-29 01:50:49 +00:00
brezak 15c3400ffe Machine independant changes to VM for handling non-contiguous memory. 1993-08-27 23:45:55 +00:00
pk 0732d8a8b1 Added VPROC to vprint()'s vnode type representation array. 1993-08-26 18:57:02 +00:00
pk d18c6d88d0 Support added for proc filesystem. 1993-08-24 12:56:22 +00:00
mycroft 22ab556e04 If ospeed is set to 0, SIGHUP the session leader (if any). 1993-08-23 16:36:42 +00:00
mycroft 742dcd5655 RLIMIT_OFILE --> RLIMIT_NOFILE 1993-08-23 16:01:56 +00:00
cgd 4543c1ebfd changes from 0.9-ALPHA2 to 0.9-BETA 1993-08-23 04:59:38 +00:00
glass 8ff8fa8046 runs up to and including configure().
todo: exceptions, interrupt support, make isrs affect vector table
kernel/user stacks
1993-08-15 23:01:58 +00:00
deraadt 3604916e13 ppp from paul mackerras 1993-08-14 06:29:28 +00:00
glass 7ffaf186bb baseline revision 1993-08-13 22:00:55 +00:00
glass 7318599b7c snapshot of intergration of torek's config 1993-08-13 13:19:41 +00:00
cgd 54eb3b1f88 brought in fixed/renamed/matching MS-DOS FS code, from Jeff Polk
<polk@bsdi.com>.  His notes are as follows:
------------------------------------------------------------------------------

 July 22, 1993

 - Changed name of entire package from PCFS to MSDOSFS

 - Fixed bugs:
      root directory size in clusters instead of bytes
      growing directory didn't update in-core size
      link, symlink, mknod didn't free locked parent (deadlock)
      lookup returned real error on create and rename instead of EJUSTRETURN
      rename changed `.' entry in child instead of name entry in parent
      rename removed `.' entry in child instead of removing entry in
              parent when moving a directory from one dir to another
      createde() left new node locked when write of parent failed (deadlock)
      removede() decremented refcount even on error (rmdir's which failed
              due to write errors left in-core cache entries inconsistent)
      changed validation for filesystem to not check for the boot signature
              since some disks (e.g., mtools) aren't bootable
      directories are always show current time as modify time
              (needed for NFS export since DOS never updates dir mod times --
               ctime is true create time).

 - Added support for cookies changes to the readdir() vnode
      interface (#ifdef __bsdi__)

 - Punted on the whole problem of inode generation numbers.  This means
   that there's a chance of using a stale file handle to access a new
   file, but it doesn't appear to be the common case, and I don't see
   how to generate reasonable generation numbers without changing something
   on the disk (which is the way the SVR4 filesystem survival kit guys
   did it).  I don't think it would be very safe to change the on-disk
   format.

        Jeff Polk (polk@BSDI.COM)

------------------------------------------------------------------------------
1993-08-13 11:35:13 +00:00
cgd cd56dd1638 merge in changes from netbsd-0-9-ALPHA2 1993-08-07 07:53:27 +00:00
cgd ea4defd6da do the Net/2 thing with startrtclock() for non-i386 architectures.
i386's startrtclock should be moved down, as well, but i believe it
does some magic...
1993-08-07 06:25:43 +00:00
cgd f5ec218873 the swtch() calls here should not need to be splclock() protected,
and certainly don't need to be bracketed by splclock()/splnone(),
the latter of which is a jolitz invention.
1993-08-07 05:16:38 +00:00
mycroft bbc8c11fd5 Nuke an extra `||' Chris inserted. 1993-08-03 02:45:20 +00:00
cgd d6b4910ac2 fix from Garrett Wollman <wollman@emba.uvm.edu> to return EPROTONOTSUPP
if user tries to get a socket for a protocol with no usrreq function
1993-08-03 01:36:10 +00:00
mycroft 5cc9898c12 Cosmetic change to VOP_ADVLOCK() fix. 1993-08-03 00:11:29 +00:00
mycroft f9ce597695 Collapse a bunch of `if (a & x) b |= x; else b &= ~x;' statements.
Whoever wrote this fugly code must've been on drugs.
1993-08-02 23:37:56 +00:00
mycroft 4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
cgd 2680a043c7 general cleanup (get close to KNF), and remove a few fuzzies
in preparation for The Grand Re-rewriting.
1993-07-28 04:08:27 +00:00
cgd 7b2afa7fe6 incorporate changes from 0-9-base to 0-9-ALPHA 1993-07-28 02:20:34 +00:00
ws 96ec00e106 Use all of freebufspace 1993-07-24 22:09:50 +00:00
mycroft 6a12d4b9b2 Clean up deleted files. 1993-07-19 16:39:09 +00:00
cgd 9bd082f70e replace jolitz's vfs__bio with a better one from CMU via mw.
so, replace vfs__bio, and deal with attendant changes.
1993-07-19 16:38:35 +00:00
cgd 57ee917973 allocate out of kmem_map, not buffer_map. buffer_map is for
*buffers*...  hopefully this won't fragment kmem_map too much.
it should probably be put into its own map, but doesn't need to be
right now.
1993-07-19 09:57:22 +00:00
mycroft 7aecc812a5 Move flushq() macro into tty.h. 1993-07-19 05:52:27 +00:00
mycroft 69fdebd9fa Make sure there are character in the ring before flushing. 1993-07-19 05:49:13 +00:00
mycroft ec99160f49 Use flushq() macro instead. 1993-07-19 05:48:01 +00:00
mycroft b8756ae04c Use ndflush(), not while(getc()). 1993-07-19 05:10:30 +00:00
andrew 5dbe2d9d5b * don't used copyout() to relocate icode - use bcopy() instead 1993-07-18 08:17:36 +00:00
mycroft 23b68e4c79 Clean up deleted files. 1993-07-18 07:21:13 +00:00
mycroft a2587ffb83 Nuke a kluge from Net/2. The argument list ocreat() creates for open() can
now be a struct open_args; no need to redefine the structure.
1993-07-18 06:28:01 +00:00
mycroft 41b40c6792 Only declare these variables extern in buf.h; define them only once in
vfs__bio.c.
1993-07-18 05:15:25 +00:00
mycroft 331148c31a Make these files GCC 2 happy. 1993-07-17 16:20:24 +00:00