Commit Graph

61 Commits

Author SHA1 Message Date
ad
92ce8c6a3d Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
2008-11-19 18:35:57 +00:00
ad
a9ca7a3734 Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.
2008-03-21 21:54:58 +00:00
dsl
7e2790cf6f Convert all the system call entry points from:
int foo(struct lwp *l, void *v, register_t *retval)
to:
    int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.
2007-12-20 23:02:38 +00:00
dsl
28bae79b27 ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
2007-12-08 18:35:53 +00:00
dsl
f2af9174b9 Remove all the __P 2007-12-04 18:40:07 +00:00
he
8f77cc1c43 Fallout from the interface ioctl changes:
OSIOCGIFADDR -> OOSIOCGIFADDR
OSIOCGIFDSTADDR -> OOSIOCGIFDSTADDR
OSIOCGIFNETMASK -> OOSIOCGIFNETMASK

Also, one instance of needing to include <net/if.h> before
<compat/sys/sockio.h> due to use of IFNAMSIZ in the latter.

Discussed with christos.
2007-06-01 11:36:35 +00:00
christos
20bfd9898e Add a sockaddr_storage member to "struct ifreq" maintaining backwards
compatibility with the older ioctls. This avoids stack smashing and
abuse of "struct sockaddr" when ioctls placed "struct sockaddr_foo's" that
were longer than "struct sockaddr".
XXX: Some of the emulations might be broken; I tried to add code for
them but I did not test them.
2007-05-29 21:32:27 +00:00
dsl
701496b5c6 Split the fcntl locking code out from its copyin/out.
Use to avoid all the stackgap stuff in compat code.
2007-05-12 23:02:49 +00:00
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
ad
b07ec3fc38 Merge newlock2 to head. 2007-02-09 21:55:00 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
tsutsui
189e121846 Fix shadow warnings. 2005-06-02 15:22:03 +00:00
pk
c6c77837c9 sunos_ioctl(): acquire a reference to the file.
This also fixes a locking botch reported in PR#25738.
2004-06-01 10:27:39 +00:00
matt
22120ad628 Constify the speedtab arrays 2004-04-25 06:23:40 +00:00
fvdl
d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
darrenr
9dc96360bb More changes for providing lwpid for ktrace (sparc GENERIC built) 2003-06-29 09:56:27 +00:00
dsl
60418b39b7 Change 'data' argument to fo_ioctl and fo_fcntl from 'caddr_t' to 'void *'.
Avoids a lot of casting and removes the need for some line breaks.
Removed a load of (caddr_t) casts from calls to copyin/copyout as well.
(approved by christos - he has a plan to remove caddr_t...)
2003-03-21 21:13:50 +00:00
pk
2931081a79 Make updating a file's reference and use count MP-safe. 2003-02-23 14:37:32 +00:00
thorpej
fc54d21534 Merge the nathanw_sa branch. 2003-01-18 08:36:15 +00:00
wiz
617b132aac Spell output with two ts. 2003-01-04 23:43:02 +00:00
thorpej
8bf2751b15 Statements must follow labels. 2002-05-30 18:44:30 +00:00
christos
381e6a7764 make the stackgap_{init,alloc} functions MP friendly (i.e. pass struct proc *
in, instead of using curproc). While there add an optional size argument to
stackgap_init.
2002-03-16 20:43:48 +00:00
mrg
d3b3f3e560 move the COMPAT_SUNOS TIOCGPGRP handling in the compat sunos code proper.
this is the final fix needed for it to run properly as an LKM.  no more
COMPAT_SUNOS hacks around the tree!
2002-03-02 12:30:43 +00:00
lukem
dab6ef8b56 add RCSIDs (including regeneration of files as appropriate) 2001-11-13 02:07:52 +00:00
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