Commit Graph

898 Commits

Author SHA1 Message Date
cgd 32b4385a97 fix bug pointed out by, and do the cleanup suggested by
Alasdair Baird <alasdair@wildcat.demon.co.uk>.  From pr 1301.
1995-08-02 22:01:46 +00:00
mycroft 605a125097 After an I/O operation completes, immediately set B_BUSY again. Also,
lower spl sooner, and remove an unneeded splbio()/splx() pair.
1995-07-27 02:37:12 +00:00
cgd e9d17d38b5 avoid unnecessary aging of buffers. This used to make sense, when buffer
caches were much smaller, but makes little sense now, and will become more
useless as RAM (and buffer cache) sizes grow.  Suggested by Bob Baron.
1995-07-24 21:19:27 +00:00
cgd b45221af72 prototype strategy and minphys, use & check minphys return value 1995-07-24 07:45:24 +00:00
mycroft 73d0d3717e Don't toss out tty stop signals if we're being traced. 1995-07-24 03:18:42 +00:00
christos 7de0fcfd12 Add KTR_EMUL to indicate a switch between syscall emulations.
Currently this record is emitted only on exec. Maybe it should
be emitted on ktrace() attach too.
1995-07-19 15:19:08 +00:00
cgd f5bbdfba41 bdwrite() should upgrade writes to tape devices by sending them to
bawrite().  it's logically more correct (doesn't return an error code,
because it's async; bdwrite is also async), it still writes things
in-order, it makes sure the proper accountins is done (see the
wasdelayed cases in bwrite()), and it allows writes to vnodes on volumes
mountd with the MNT_ASYNC to be converted into delayed writes the way
God, err, Kirk intended.  Convert synchronous bwrite()s on MNT_ASYNC
file systems to delayed writes.
1995-07-12 07:56:31 +00:00
cgd 9c3fe30d92 fix long-standing XXX in getblk(): NFS does funky things (somewhat
explained in comments), which can cause a race condition.  amazingly,
the _only_ time i've ever seen or heard of this problem was in some
comments and sources by Rick Macklem, and when running against the
a DEC OSF/1 NFS server running on an Alpha.
1995-07-12 07:39:00 +00:00
mycroft 7263209ce6 Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely.  Remove d_strategy from cdevsw to
force the abstraction barrier.
1995-07-04 07:15:28 +00:00
mycroft 083ba962e2 Oops; need fcntl.h. 1995-07-03 16:58:38 +00:00
mycroft 9a4505cb89 Close routines take file flags, not I/O flags. Fix two incorrect usages. 1995-07-02 18:13:02 +00:00
christos 1654fca494 Remove unused define 1995-06-30 02:57:20 +00:00
cgd 3748c1aef7 try to insure that the 'default' address for shm segments is the same
from process to process.  It apparently is on SysV systems, and some
programs depend on this.  Suggested by  John Birrell <jb@werple.mira.net.au>.
1995-06-29 11:43:17 +00:00
christos 1a5a3c9199 Extracted all of the compat_xxx routines, and created a library [libcompat]
for them. There are a few #ifdef COMPAT_XX remaining, but they are not easy
or worth eliminating (yet).
1995-06-24 20:33:55 +00:00
fvdl 8ef93cbcf5 Generic mi ELF loader; delete Linux and Svr4 compat conf entries and
add generic ELF entry to exec_conf.c
1995-06-22 21:29:47 +00:00
cgd 3176641085 fix pr 1128; change vfs_bufstats defn from DIAGNOSTIC - > DEBUG 1995-06-20 10:42:33 +00:00
cgd 8f62c773e8 don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN 1995-06-18 14:45:14 +00:00
cgd d0601a093f copy some format specifiers from kprintf to sprintf. b & r still missing 1995-06-16 10:52:17 +00:00
fvdl 0cdb827026 Add Linux ELF module to the list of things to try. 1995-06-11 20:22:12 +00:00
mycroft d7e904a697 Fix various signal handling bugs:
* If we got a stopping signal while already stopped with the same signal,
the second signal would sometimes (but not always) be ignored.
* Signals delivered by the debugger always pretended to be stopping
signals.
* PT_ATTACH still didn't quite work right.
1995-06-08 23:51:01 +00:00
mycroft 4a975bbe6f If necessary, wake up the child during attach so we always get a SIGCHLD. 1995-06-05 20:57:54 +00:00
pk 1e52ad70a9 We need some compat_10 routines if COMPAT_SUNOS is on (PR #1008). 1995-06-05 12:56:54 +00:00
mycroft 3e6f699a75 Only do software flow control if IXOFF is set. Also fix hardware flow control
case in ttyblock().
1995-06-04 14:01:37 +00:00
mycroft 3cd36c72ef Use ISSET() and CLR() in two cases. 1995-06-04 12:57:52 +00:00
mycroft 3eeacbcb2d #include <sys/vnode.h>, for prototypes. 1995-06-03 05:53:28 +00:00
mycroft 8dc3fb5a63 Use vaccess(). 1995-06-02 19:04:22 +00:00
jtc 95ded74f58 Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1
requires that sgid executables and the setuid() syscall *not* change
the supplemental group list.
1995-06-01 22:43:30 +00:00
cgd 4a04bbaa09 add a facility by which to register 'hooks' to be run at shutdown time. 1995-05-31 20:41:44 +00:00
mycroft 53eb79fc69 Preserve the ISWHITEOUT flag between cache_enter() and cache_lookup(). 1995-05-30 09:02:02 +00:00
mycroft ce5fcc40af Remove gratuitous extra indirections. 1995-05-23 06:11:29 +00:00
cgd 7e68171a95 properly determine if send/rcv timeout values are out of range. 1995-05-23 00:19:30 +00:00
mycroft bfd22ffde8 Generate the new ps_strings format. 1995-05-16 14:19:03 +00:00
christos fb371ccef0 tty_tb.c: need to include ioctl_compat.h in order to compile.
sysv_shm.c: make shm_find_segment_by_shmid global so it can be used by
	    COMPAT_HPUX. There should be a better way...
rest: Add #ifdef COMPAT_HPUX where needed
1995-05-10 16:52:53 +00:00
mycroft 78356f06b3 Add two vprint()s, to give more informative panic messages. 1995-05-04 03:11:06 +00:00
cgd 3d9ffd41f3 make this work sanely on a 64-bit machine. Sacrifices a small bit of
error checking in the DIAGNOSTIC case.  These changes might be backed out,
if it's decided that MINBUCKET should be 5 (rather than 4) on the alpha.
However, doing that has its own set of nasty consequences.
1995-05-01 22:39:11 +00:00
cgd 2581c66077 remember first error code (if any) that's different than ENOEXEC.
Not perfect, but there's no perfect solution to the "multiple interesting
error codes" problem.
1995-05-01 22:36:45 +00:00
christos 2ca157b084 Make this compile again; from Ted Lemon 1995-04-25 21:10:01 +00:00
christos 1c1cf96baf makesyscalls.sh was changed 1995-04-22 19:43:50 +00:00
christos 3d1b06ab09 - new copyargs routine.
- use emul_xxx
- deprecate nsysent; use constant SYS_MAXSYSCALL instead.
- deprecate ep_setup
- call sendsig and setregs indirectly.
1995-04-22 19:42:47 +00:00
cgd 5fe7be7a26 be a little smarter when printing syscall names & args 1995-04-22 14:17:18 +00:00
mycroft 954487037b Rearrange vfs_shutdown() slightly. 1995-04-21 22:09:53 +00:00
mycroft 84f803aef6 Add a return type for vaccess(). 1995-04-21 22:03:24 +00:00
mycroft f51cb8c974 Print a message for each file system that does not unmount cleanly. Add a
vfs_shutdown() routine that does the unmount and sync.
1995-04-21 21:55:11 +00:00
mycroft b92e5976ff Rename pttty() to ptytty() to mimic ptyioctl(). 1995-04-19 22:33:56 +00:00
mycroft cdd1a8eb54 Fix typo. 1995-04-19 18:58:14 +00:00
mycroft 7aaa443e99 Implement pttty(), and rename pt_ioctl to pt_softc. 1995-04-19 18:50:21 +00:00
mycroft 20b6b4f24d Change ttselect() to use a callback to get the tty structure. 1995-04-19 18:46:10 +00:00
mycroft 72adfee7f7 EMUL_IBCS2_ELF -> EMUL_SVR4; EMUL_IBCS2_{COFF,XOUT} -> EMUL_IBCS2 1995-04-13 20:48:14 +00:00
mycroft 6cabaea642 Define vfs_unmountall(), to unmount file systems at shutdown time. 1995-04-10 19:46:56 +00:00
mycroft c75f9f2e07 Change `fdclose' to `fdrelease', to avoid confusion with device interfaces. 1995-04-10 18:27:59 +00:00
mycroft 04a0a9a518 Use the new d_type field. 1995-04-10 00:46:51 +00:00
fvdl 366ba9b889 Use sigcode fields in package structure. This seems to be the cleanest
way to deal with seperate trampoline code for emulation of other OSs,
it avoids having to clutter up kern_exec.c any further.
1995-04-07 22:33:23 +00:00
mycroft bb85930bbe Add missing argument to closef(). 1995-04-05 21:26:40 +00:00
christos 9255f898e8 Added TIOCGSID for COMPAT_SVR4 [get session id] 1995-03-31 03:07:41 +00:00
mycroft 46b2bb599f Make definition of b_cylinder global. 1995-03-29 20:57:35 +00:00
cgd a046d2374e don't default return types to ints; specify them.
ktrsyscall takes (vp, code, argsize, args), and stores argsize rather
than nargs.
1995-03-26 07:48:47 +00:00
cgd 0310dd8f78 add an 'INSECURE' option which makes securelevel default to -1 1995-03-26 00:01:08 +00:00
cgd fd10fb94e5 make it reasonable for processes to not double-map it's user area and kstack 1995-03-25 22:05:15 +00:00
mycroft f75ba16b09 Update to use timer{add,sub}(). 1995-03-21 13:33:34 +00:00
mycroft 7439778432 Use %p. 1995-03-19 23:44:44 +00:00
mycroft 20a403a292 Nuke startinit_verbose. 1995-03-19 23:27:03 +00:00
mycroft fe62f9afca Actually, do the previous differently. 1995-03-19 23:23:11 +00:00
mycroft feb5b4b126 Add a `%p' format. 1995-03-19 23:17:16 +00:00
mycroft a1615c4d35 Clean up comments related to last change, and remove an unneeded
splclock/splx pair.
1995-03-18 14:35:14 +00:00
chopps b3f539b09c add prototypes before each inline 1995-03-10 04:13:52 +00:00
mycroft fab1d8444c Update to match syscalls.master. 1995-03-09 17:33:07 +00:00
mycroft 57e6889435 Make memory map syscalls consistently use size_t. 1995-03-09 17:28:28 +00:00
mycroft 2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
mycroft 1f5c42f54c Update types. 1995-03-09 08:55:47 +00:00
mycroft 7f1e89164d Update types, and fill in missing debug switch entries. 1995-03-09 08:54:37 +00:00
cgd 6782442a8c use long for argc, envc, and u_long for len. 1995-03-08 01:23:00 +00:00
cgd 9c3af345b5 use NULL rather than casted zero 1995-03-08 01:21:30 +00:00
cgd 4f2d1996e7 needs systm.h 1995-03-08 01:20:50 +00:00
cgd c771cb43cf need COMPAT_OSF1 for some things 1995-03-08 01:20:19 +00:00
fvdl cb05b6a54b Two more "|| defined(COMPAT_LINUX)" that I somehow missed first time around. 1995-03-05 20:48:15 +00:00
fvdl 7b5bd63e35 Extended a couple of defines with "|| defined(COMPAT_LINUX)" to make
things compile without requiring COMPAT_43 and/or COMPAT_09.
1995-03-05 08:52:17 +00:00
cgd 41356f64e3 add support for clocks with hz > 1000, and for cases where 1000000 / hz != int 1995-03-03 01:24:03 +00:00
cgd c7fde1470b various XXX changes that linux bins need to get their args correctly. 1995-02-28 23:09:01 +00:00
cgd b90bc60c78 switch entry for Linux a.out 1995-02-28 23:06:21 +00:00
mycroft cfe40d86f6 Move a couple of assignments from the parent to the child. 1995-02-23 23:41:43 +00:00
mycroft e8f67573e2 Align the stack even if envp is NULL. 1995-02-22 01:39:56 +00:00
mycroft 477c99007d NULL out file descriptors as they're closed, for the benefit of fstat(8). 1995-02-15 02:12:02 +00:00
mycroft 53f792b77d Omit the call to process_sstep() if PT_STEP is not defined. 1995-02-09 05:19:18 +00:00
cgd a03b011499 undo a part of the last change that mistakenly required PT_STEP.
(i simply undid that part of the change.)  also, fix a tyop.
1995-02-08 23:38:29 +00:00
mycroft c43614be17 Remove UIO_USERISPACE. 1995-02-08 15:06:48 +00:00
mycroft a8dd9a66e2 Optimize differently. 1995-02-04 14:44:48 +00:00
mycroft 5561e58072 Small optimization. 1995-02-04 14:22:13 +00:00
mycroft 1815d82b85 Make attach/detach more safe. 1995-02-03 11:35:57 +00:00
mycroft 42d23cb6e4 Remove PT_{READ,WRITE}_U. 1995-01-26 17:56:21 +00:00
cgd aff3f5b497 implement sysctl variable kern.maxpartitions 1995-01-25 06:08:06 +00:00
cgd ef5b4feb51 ooops. forgot to emable fpathconf's use of VOP_PATHCONF! 1995-01-23 04:45:22 +00:00
mycroft 9843f45605 Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
differently.
1995-01-18 06:19:49 +00:00
mycroft af0c359450 Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
differently.
1995-01-18 06:14:43 +00:00
cgd 7fb59862ff undo charles's accidental changes. 1995-01-15 09:23:05 +00:00
cgd 6354211739 cast pointer to long, not int 1995-01-12 05:40:10 +00:00
cgd 6bec8ab087 cast pointers to longs. 1995-01-12 05:22:18 +00:00
mycroft d903b2aa28 Remove unused extern. 1995-01-09 19:54:28 +00:00
cgd c6720544a8 update for new syscalls.master 1995-01-06 00:08:50 +00:00
cgd dfa90d1c7f obsolete resuba, per ragge. 1995-01-06 00:08:17 +00:00
mycroft ebe3db17a7 Handle null pointers like libc. 1994-12-28 06:30:35 +00:00