Commit Graph

37 Commits

Author SHA1 Message Date
thorpej 80cc38a1af Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads.  What we do is stick descriptors in the table, but
mark them as "larval".  This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again.  When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
2001-06-14 20:32:41 +00:00
mrg 6a89288a37 use _KERNEL_OPT. 2001-05-30 11:37:21 +00:00
mrg bd15b74ffc add missing !LKM check, noted by <tih@kpnQwest.no> 2001-02-03 22:20:02 +00:00
mrg bdec681975 sunos_ioctl.c is included by sunos32_ioctl.c. include the sunos32 &
netbsd32 headers if we are in sunos32 mode.
2001-02-02 12:59:43 +00:00
jdolecek 01040d97a2 add e_path (emulation path) to struct emul, which replaces emulation-specific
*_emul_path variables

change macros CHECK_ALT_{CREAT|EXIST} to use that, 'root' doesn't need
to be passed explicitly any more and *_CHECK_ALT_{CREAT|EXIST} are removed
change explicit emul_find() calls in probe functions to get the emulation
path from the checked exec switch entry's emulation

remove no longer needed header files

add e_flags and e_syscall to struct emul; these are unsed and empty for now
2000-12-01 12:28:30 +00:00
mrg 705b50bf32 fix LP64 warnings. 2000-07-27 14:00:56 +00:00
augustss a82aeb5508 Kill register declarations. 2000-03-30 11:24:16 +00:00
perry e1601dc2ca bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:36:58 +00:00
mrg cbffcd18f0 use <dev/sun/disklabel.h> for new (old) compat ioctls: DKIOCGGEOM, DKIOCINFO and DKIOCGPART 1998-06-20 03:43:49 +00:00
pk 5641a30a30 Pull in fcntl GETLK/SETLK/UNLK compat functions from SVR4 sibling. 1997-12-11 09:52:57 +00:00
is c7f9237607 - Doesn't need to privately define AUDIO_SPEAKER and AUDIO_HEADPHONE any
longer.
- XXX Don't access the nonexistant backlog structure element.
1997-10-19 20:59:32 +00:00
jeremy 3d6483ab9a Ignore use of sunos_audioio.monitor_gain because it has no equivalent in the
audio sub-system.  It used to use the ``__spare'' member of the audio_info
struct, but that has been removed.
1997-05-11 05:41:13 +00:00
pk 39dfdd0601 Translate EIO to ENOTTY after a SunOS `TIOCGETPGRP' (tcgetpgrp(3)) fails
on a pty (see also kern/pty_tty.c).
1996-07-02 21:21:57 +00:00
pk ec587073d7 I_SIGSET => I_SETSIG (pointed out by Greg Earle). 1996-05-26 23:57:10 +00:00
christos fc8b478bdd Bring prototypes into scope and fix compiler warnings. 1996-03-14 19:33:44 +00:00
pk 636580a34f Insert sunos_sys_fcntl(). 1996-02-28 16:03:54 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
thorpej cd414f7dca Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:42:02 +00:00
pk 1e070197f4 Go with the flow; use `/emul/sunos' pseudo-root (from Matthew Green).
Note: sunos_stat() and sunos_lstat() were added too.
1995-06-11 22:33:50 +00:00
pk 4c8828e743 init `mode' field in sunaudiogetinfo(). 1995-05-04 19:46:31 +00:00
pk 1dd6d8a8dd Fix TCGETA compat, from Matthew Green.
SunOS `setaudioinfo' does implicit `getaudioinfo'.
Recognise streams flush/setsig ioctls.
1995-04-02 10:43:29 +00:00
pk a1cfb5b325 Move SunOS audio_info compat stuff here (from sparc/dev/bsd_audio.c). 1995-03-04 09:50:00 +00:00
deraadt 2e57b94fb7 improve VMIN/VTIME emulation (from chs+@CS.cmu.edu) 1994-11-20 21:29:33 +00:00
deraadt 930c2dade2 fix CS[5678] code 1994-10-31 05:18:10 +00:00
deraadt 019f48332c rename, new syscall interface, etc. 1994-10-25 23:03:22 +00:00
cgd 74d7436a91 pay a small amount of lip service to the new syscall args mechanism.
In reality, none of these will compile.
1994-10-20 04:47:31 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
deraadt 82eb0b8134 bail on SIOCGARP 1994-05-21 08:22:08 +00:00
pk 21099f340f Fix typo.
Give TIOCTCNTL a try.
1994-04-26 19:52:29 +00:00
jtc 5235180083 Fix spelling error in Copyright notice 1994-01-28 23:43:26 +00:00
deraadt b2834eb029 sync with magnum 1994-01-15 01:18:14 +00:00
deraadt 9d48733fb1 m68k/sparc sunos binary compatibility code, pulled down from magnum branch
for consumption by the m68k masses
1993-12-12 20:43:18 +00:00
deraadt 61789d11e5 moved from arch/sparc/sunos to compat/sunos 1993-11-22 22:54:48 +00:00
deraadt ac4a976328 fake support for TIOCSSOFTCAR and TIOCGSOFTCAR
(one of which used to point to NetBSD's TIOCSTAT :-)
1993-11-20 02:57:43 +00:00
deraadt db97aa737f disassembly shows the %f2 register being accessed, and of course the
kernel panics.
why wasit using %f2? some expressions were too complicated and gcc2 (with
the optimizer off, mind you) ran out of integer registers and thus used
started using a float register for a temporary.
1993-11-14 14:46:54 +00:00
deraadt ea61d92021 replacement set of sun ioctl functions. markus wild added a
whole slew of new ioctl's that are much more close to reality.

the comat-sunos tree is now almost good enough to be used in
both m68k and sparc kernels.
1993-11-10 15:03:33 +00:00
deraadt 4588caefaa Chris Torek's sparc port. Missing lots of things. 1993-10-02 10:22:00 +00:00