Commit Graph

1000 Commits

Author SHA1 Message Date
cgd 6ffadcadf6 fix off-by-one error in tickfix code. (should increment when count >=
interval, because count goes from 0->(interval-1) to count interval
ticks.)
1996-01-17 04:37:31 +00:00
fvdl 961c294fd5 * Don't rely on the protection bits of segments anymore to decide whether
it's text or data; use the entry point instead (this solves some trouble
  with ELF executables with strange permissions)
* Incorporate some fixes from r_friedl@informatik.uni-kl.de sent to
  netbsd-bugs a while ago
1996-01-16 23:07:18 +00:00
pk ba8a7101f0 Correct test for ECHONL (from der Mouse; PR#1922). 1996-01-10 20:52:27 +00:00
thorpej 5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +00:00
thorpej 17eb6e2bc1 Move the old-style disk instrumentation "structures" to a central location
(sys/kern/subr_disk.c) and note that they should/will be deperecated.
1995-12-28 19:16:31 +00:00
mycroft f597a53319 Remove the process from zombproc and its parent's child list before freeing
its resources.
1995-12-24 11:23:33 +00:00
mycroft f183fc14f7 If __FORK_BRAINDAMAGE, continue stuffing retval[1] for the benefit of main(). 1995-12-10 08:26:02 +00:00
cgd 6652367efa (1) undef various EXEC_ cpp symbols before defining them, in case
they're already defined for some reason (this can happen
        on the alpha, for example, which needs to define EXEC_ECOFF
        in the std.alpha config file).
(2) minor spacing consistency.
1995-12-09 05:34:47 +00:00
mycroft af942a9add Only expect vm_fork() to return if __FORK_BRAINDAMAGE is defined.
Use splstatclock() rather than splhigh() in one place.
Eliminate unused third arg to vm_fork().
1995-12-09 04:23:07 +00:00
mycroft bcd91943f8 Remove unused third arg to shmfork(). 1995-12-09 04:12:56 +00:00
mycroft feb42498e3 If we abort, make sure to free ep_emul_arg. 1995-12-09 04:11:00 +00:00
mycroft 00be80b604 Add a limfree(), and use it. 1995-12-09 04:09:32 +00:00
mycroft 27b9d9f436 Eliminate an extra variable. 1995-12-09 04:07:41 +00:00
mycroft 65806fd730 When converting from termios to sgtty, if RAW is set, use the previous\
settings of LITOUT and PASS8, since these cannot be determined from the\
termios modes.
1995-12-07 00:53:29 +00:00
thorpej a5d3f68110 Add hooks for COMPAT_HPUX. 1995-11-28 08:07:25 +00:00
cgd b69dc1f62c move ../sys/syscallargs.h out of the way when making new version,
just like we do for init_sysent.c, syscalls.c, and ../sys/syscall.h.
1995-11-22 23:11:32 +00:00
cgd a321588516 update for new syscalls.master 1995-11-22 23:09:26 +00:00
cgd a2ce90f34c change definition of profil() to make it 64-bit friendly. This has
no practical consequence on 32-bit systems.  old prototype was
int profil(char *, int, int, int), and new one is int profile(char *,
size_t, u_long, u_int).  the size_t is the size of the buffer,
and the u_long is the 'starting offset'.  (I changed the last int
to u_int, because it's treated as a u_int everywhere, and isn't
logically a signed value.)
1995-11-22 23:07:19 +00:00
mycroft 7edc899fdd ffs -> ufs 1995-11-11 22:00:15 +00:00
gwr dd962ebbf6 Make sys_mount accept "ufs" as an alias for "ffs" 1995-11-07 22:41:02 +00:00
christos 16c4374c1f Make the ktrace code emit a record that indicates the current emulation
every time there is an attach or detach event.
1995-10-22 00:35:06 +00:00
mycroft ec64328797 Check for todo<0, done<0, and done>todo. 1995-10-10 02:51:45 +00:00
mycroft 5a44558c93 Reran makesyscalls.sh. 1995-10-10 01:33:26 +00:00
mycroft 44a38d8470 Add aliases for all compat functions. 1995-10-10 01:32:53 +00:00
mycroft 2dd293d3c3 Add hooks for COMPAT_FREEBSD, from Noriyuki Soda. 1995-10-10 01:26:36 +00:00
thorpej c819cd372d In lkmioctl(), disallow LMRESERV, LMLOADBUF, LMUNRESRV, LMREADY,
and LMUNLOAD if securelevel > 0.  From Matthew Green <mrg@eterna.com.au>
1995-10-10 00:23:20 +00:00
mycroft 55c46e9514 Reran makesyscalls.sh. 1995-10-07 06:41:34 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
mycroft 2d9aa901e9 Write core dumps with mode 0600. 1995-10-06 16:12:05 +00:00
mycroft 62f5268325 Fix oversight in previous. 1995-10-05 08:50:02 +00:00
mycroft 9806359967 Make PARENB depend on RAW and ANYP, but not on LITOUT or PASS8. 1995-10-05 08:38:55 +00:00
mycroft 1c5d240ffa Make PASS8 = !ISTRIP and LITOUT = !OPOST, if CSIZE is CS8. 1995-10-05 02:45:06 +00:00
mycroft f5f86fc38b Fix type errors. 1995-10-05 01:42:22 +00:00
mycroft 210951a875 Switch to using SET(), CLR(), and ISSET() macros, like tty.c. 1995-10-05 01:35:07 +00:00
thorpej 42c10934c1 Fix typo in declaration of exit(), pointed out by Chris Demetriou. 1995-09-27 20:26:51 +00:00
cgd 08cae70f24 fix annoying but non-critical rounding but in ttyinfo(). (If
microseconds goes over 10^6 when rounding, increment seconds.)
1995-09-22 00:11:35 +00:00
thorpej 60024eb978 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 21:40:36 +00:00
thorpej 1f5a887dbf makesyscalls.sh changed 1995-09-19 21:31:49 +00:00
thorpej 70bf3eea21 Emit prototypes for system call functions and append them to the
`syscallargs' header file.
1995-09-19 21:28:56 +00:00
thorpej 7f6d48201f s/memcmp/bcmp/ 1995-09-16 00:28:08 +00:00
ws 166530c153 Distribute cache entries more evenly 1995-09-08 14:15:07 +00:00
mycroft 873ed30f83 so_pcb should be a void *. 1995-08-17 02:57:20 +00:00
mycroft a87c08a36e Access rights are now stored in MT_CONTROL mbufs. Document this. 1995-08-16 01:03:19 +00:00
mycroft 0ecd5256ad Allocate PCBs with malloc(), more mgetclr(). Be more careful to free the
PCB after it's done with.
1995-08-16 00:29:50 +00:00
mycroft d23236204d When resetting a signal, change ps_sigact, just to be sure. 1995-08-14 06:07:55 +00:00
mycroft 5c03d498db Fix typos. 1995-08-14 01:47:03 +00:00
mycroft 2e95cf3d31 Implement SA_RESETHAND and SA_NODEFER.
Only return SA_NOCLDSTOP in the sigaction struct for SIGCHLD.
Rename ss_flags bits.
1995-08-13 22:53:59 +00:00
mycroft 36a94a031a Lock the process in core before operating on it. 1995-08-13 09:05:51 +00:00
mycroft 5482957905 splnet --> splsoftnet 1995-08-12 23:59:09 +00:00
mycroft 80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
thorpej 0f77910137 Add and document a `kern.rawpartition' sysctl. 1995-08-04 18:36:08 +00:00
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