Commit Graph

317 Commits

Author SHA1 Message Date
deraadt c38503af4d sparc must flush register windows before vm_deallocate or else fireworks
must deallocate shm's
set/reset emulation environment at the right times
keep arg buffer around for later use
canonicalize all #includes.
support STACKGAP for COMPAT_SUNOS code
support OMAGIC/NMAGIC-style memory loading
don't assume VM_MIN_ADDRESS is 0.
(changes come from magnum branch)
1993-12-12 19:38:37 +00:00
deraadt 9dd14b7930 make syscall#0 "syscall", like in 4.4 (causes SYS_syscall to be defined) 1993-12-12 19:28:21 +00:00
deraadt 9e62501f7b support OMAGIC/NMAGIC a.out's
cannonicalize #includes
change VTEXT check
(this stuff comes from the magnum branch)
1993-12-12 19:26:18 +00:00
cgd 94dd8a0dfb dtrt with 'error' in setpriority() 1993-12-10 07:19:16 +00:00
deraadt 3cf1d8505e echo ^V^? correctly as ^?. From Edward Wang <edward@homer.CS.Berkeley.EDU> 1993-12-09 22:58:17 +00:00
pk 9610135cb8 Do the right thing when arguments are NULL.
Don't leave filesystems marked busy after copyout() errors.
1993-12-09 18:00:18 +00:00
pk 644f409712 Properly initialize the credentials fields in the buffer used in physio().
Actually use the credentials of `curproc' when doing IO (among other things,
this allows us to read /dev/drum when swapping on an NFS mounted file).
1993-12-07 23:46:13 +00:00
mycroft 620a222f9f If EXEC_DEBUG, display name of file we're trying to exec. 1993-12-06 14:18:58 +00:00
cgd 86b5a367cf use progname.core for core dump names 1993-12-04 07:11:11 +00:00
cgd 5419d0bd49 initialize uninitialized variable, from Andy Heffernan <ahh@netcom.com>. 1993-12-01 22:05:04 +00:00
pk 392cf19708 return from rmfree() if we loose space with no options left. 1993-11-29 13:21:00 +00:00
deraadt 2a9aacbf1c don't permit TIOCSCTTY on /dev/tty, or kernel recursion happens
from Lars Fredriksen <ludvig!lars@wixer.bga.com>
1993-11-24 03:40:10 +00:00
deraadt bd783b4d80 initialize pseudo devices with pdevinit[], not with a bunch of
#include/#ifdef pairs..
1993-11-23 07:49:04 +00:00
cgd facd69a0ee do something better with lookup return values; suggested by BSDI's msdosfs mod 1993-11-20 09:40:32 +00:00
cgd 5838270f1e patch from Ukai Fumitoshi <ukai@kmc.kyoto-u.ac.jp>
to do the right thing with NFS fsid's and getnewfsid()
1993-11-19 02:31:23 +00:00
cgd dde22728d4 drag changes down from magnum 1993-11-15 10:21:08 +00:00
deraadt 33d816fdbc add a ptyattach() function, as in magnum. 1993-11-15 09:17:05 +00:00
cgd 1259031077 kill bogus test 1993-11-15 07:54:45 +00:00
cgd 4878a43c3d Add the System V message queue and semaphore facilities. Implemented
by Daniel Boulet <danny@BouletFermat.ab.ca>
1993-11-14 13:21:59 +00:00
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