Commit Graph

294 Commits

Author SHA1 Message Date
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
jdolecek
6626f506b3 LKMify 2000-11-30 19:05:26 +00:00
scw
7d7a448f88 Make these compile with the latest execsw[] changes. Someone with
SunOS binaries needs to test this...
2000-11-24 10:21:30 +00:00
jdolecek
baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
jdolecek
78b866e95a change the type of *syscallnames[] array to 'const char * const foo[]' 2000-11-13 21:32:15 +00:00
cgd
0199b04bef update for changed makesyscalls.master 2000-08-18 19:35:15 +00:00
cgd
3af42e5211 update for changed makesyscalls.sh 2000-08-18 19:26:56 +00:00
mrg
705b50bf32 fix LP64 warnings. 2000-07-27 14:00:56 +00:00
mrg
13f211c52e remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 15:39:24 +00:00
soren
a9aa2abf94 defopt SYSCALL_DEBUG. 2000-06-06 18:52:30 +00:00
chs
a6d33cc1f2 add a new function vn_marktext() for exec code to let others know
that the vnode is now being used as process text.
2000-04-11 04:37:47 +00:00
mrg
5e32788ad7 regen 2000-04-09 06:49:16 +00:00
mrg
a20d930808 rename some unimplimented (because they are OLD in sunos) syscalls to avoid confusion. 2000-04-09 06:47:39 +00:00
augustss
a82aeb5508 Kill register declarations. 2000-03-30 11:24:16 +00:00
simonb
2f1fef39b3 Centralise the declarations of cpu_model, machine, machine_arch,
osrelease, and ostype and remove "extern char foo[];" (for hostname
and domainname too).

Also delete redunctant decl of boottime in kern_info_43.c.
2000-03-28 23:57:24 +00:00
kleink
230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
kleink
dfa5aad003 Regen. 1999-07-12 22:04:00 +00:00
kleink
e79a283e47 XSH5: change function signature to `void *sbrk(intptr_t)'. 1999-07-12 21:55:19 +00:00
thorpej
e3669c3393 Add "use counting" to file entries. When closing a file, and it's reference
count is 0, wait for use count to drain before finishing the close.

This is necessary in order for multiple processes to safely share file
descriptor tables.
1999-05-05 20:01:01 +00:00
christos
4c1bb7794a Need sunos_sigcode and sunos_esigcode now that our sigreturn is
different.
1999-04-29 16:14:04 +00:00
drochner
74768f75f4 remove unneeded <vm/*> includes 1999-04-01 18:37:33 +00:00
sommerfe
166f97ecf3 Use regular system fchroot, now that we have it. 1999-03-22 17:30:37 +00:00
sommerfe
5effda814f Use standard system fchroot instead of emulation-specific copy. 1999-03-22 17:28:21 +00:00
christos
908adf3eef Regen 1999-02-09 20:31:43 +00:00
christos
49692434d8 Const poisoning and CHECK_ALT_CREAT fixes 1999-02-09 20:29:24 +00:00
drochner
63d673f477 g/c SA_USERTRAMP (ok'd by pk) 1998-12-21 10:34:59 +00:00
drochner
8b9671f0f5 get "opt_compat_xxx.h" includes out of <sys/signal.h> 1998-12-19 16:27:09 +00:00
drochner
ba4af3c3de regen 1998-12-18 18:59:06 +00:00
drochner
b71f154130 remove compat_xxx dependencies where they don't belong 1998-12-18 18:49:59 +00:00
christos
f0c7751046 Regen 1998-12-10 17:13:06 +00:00
christos
b0b86b5b7f Defopt COMPAT_43 1998-12-10 17:03:19 +00:00
tron
79239684ae Regen. 1998-10-19 22:41:06 +00:00
tron
8eca167a73 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:40:29 +00:00
eeh
fc6c67ff5d Fixup big-endian syscall args. 1998-10-03 19:33:32 +00:00
pk
99cd371c60 Fix copyout() argument switch. 1998-09-14 21:05:46 +00:00
pk
9949f7d556 regen. 1998-09-13 22:29:06 +00:00
pk
c7971c960e Signal compat: sunos sigset_t conversions;
new sunos_sigvec() & sunos_sigpending()
1998-09-13 22:28:16 +00:00
pk
459204606f Everyone uses sunos_sendsig(). 1998-09-13 21:05:35 +00:00
pk
06612cb9f8 Since the last signal restructuring the sparc also has an sunos_sendsig(). 1998-09-13 20:20:48 +00:00
rvb
26b955eec7 ufs_readdir no longer checks if vp->v_type != VDIR so
the individual emulated readdirs must check.
Since netbsd and freebsd return EINVAL for the error
and I don't know what the other platforms do, return
EINVAL for them too.
1998-09-08 20:02:51 +00:00
christos
8fb507a3b7 Assign copyright to TNF. 1998-09-05 14:50:25 +00:00
mrg
edda33e00c move <vm/vm_swap.h> to <sys/swap.h>. <vm/vm_swap.h> still works for now (goes away later) 1998-08-29 17:01:14 +00:00
mrg
0d6736494d change sunos compat structure members from long to int so they stay the same on sparc64 1998-08-22 17:41:43 +00:00
perry
e1601dc2ca bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:36:58 +00:00
mrg
fe3c14b64d use __sparc__ not sparc 1998-08-09 03:12:39 +00:00
mrg
7ba85a8779 if syscall_debug & compat_sunos, include sunos_syscalls.c 1998-08-06 02:58:44 +00:00
hannken
6f6901bd1a Include NFSSERVER option header opt_nfsserver.h. 1998-06-26 10:13:14 +00:00
thorpej
5dc3448163 Regen: defopt NFSSERVER 1998-06-25 22:19:33 +00:00
thorpej
bff28c879a defopt NFSSERVER 1998-06-25 22:19:12 +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
fvdl
e2eb38cc6f Make this compile again. 1998-03-04 09:06:52 +00:00
fvdl
a377495cfb Only free cookiebuf when sure that the vop actually allocated it. 1998-03-03 13:44:48 +00:00
fvdl
e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
thorpej
dc4fe3d32d Regen: makesyscalls.sh changed. 1998-02-19 03:34:15 +00:00
thorpej
d428ef497f regen; syscalls.master and makesyscalls.sh changed. 1998-02-19 00:44:20 +00:00
thorpej
217cf602ae Include the NFS option header. 1998-02-19 00:43:56 +00:00
thorpej
80fff795f9 Regen. 1998-01-09 06:19:02 +00:00
thorpej
585f0dec73 Regen: back out RCD ID related changes. 1998-01-08 00:17:11 +00:00
perry
36bd5a5407 regened with RCSIDs in place 1998-01-05 18:23:00 +00:00
pk
5641a30a30 Pull in fcntl GETLK/SETLK/UNLK compat functions from SVR4 sibling. 1997-12-11 09:52:57 +00:00
tv
0a558b3f1f Standardize COMPAT_SUNOS -- remove all references to
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
1997-12-04 15:33:17 +00:00
fvdl
ef0ba97c11 Update for new msync (== __msync13), use flags 1997-10-21 00:58:41 +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
christos
542318240b Regen. 1997-10-19 18:48:57 +00:00
christos
2b8d4e9b82 Make mman(2) functions args consistent (caddr_t -> void *) 1997-10-19 18:48:16 +00:00
christos
1c89a817ba Simplify use of round_page() like in other emulations. 1997-10-19 18:48:00 +00:00
carrel
ea9e34c2f7 cast to void * not caddr_t 1997-10-19 12:52:19 +00:00
christos
251114507c Regen 1997-10-17 00:02:49 +00:00
christos
7e8c979fa9 ostat -> stat43 1997-10-16 23:53:07 +00:00
fvdl
d85f38cbec Fix braino in my interpretation of the eof flag to VOP_READDIR. 1997-10-10 22:16:04 +00:00
fvdl
cd215502cb Regen. 1997-10-10 12:54:39 +00:00
fvdl
914e939800 sys_getdirentries -> compat_12_sys_getdirentries from Juergen Hannken-Illjes. 1997-10-10 12:45:01 +00:00
mrg
74f573d85d remove advertising clause from all my licenses. 1997-10-10 05:39:47 +00:00
fvdl
86ecc45306 Signal error when getting a 64 bit offset cookie that can't be stored
in 32 bits. Provide an error message to the user, and return EINVAL.
Also, pay attention to the EOF flag from VOP_READDIR. Correct a
misspell in a panic message.
1997-10-10 01:47:41 +00:00
bouyer
1cd83a5971 Fix "missing entries" bug when reading large directories: When reading a
directory and running out of space in the dest buffer, off should point to the
current entry (which was not saved) and not to the next.
I discovered this bug using linux and SunOS emulation over NFS, but seems to
affect other emulations as well.
1997-08-04 09:48:07 +00:00
pk
e3680b0e26 config.new => config 1997-07-20 20:33:08 +00:00
thorpej
30597f2eed Regen: Use compat_12_sys_swapon(). 1997-06-13 19:10:11 +00:00
thorpej
068d1ad637 Use compat_12_sys_swapon(). 1997-06-13 19:09:12 +00:00
thorpej
41e29be490 Garbage-collect sunos_sys_swapon(); it is not needed. 1997-06-13 19:08:25 +00:00
mrg
b73df246f5 bring mrg-vm-swap2 onto mainline. 1997-06-12 19:18:15 +00:00
mrg
aabc4f2396 now need sunos_sys_swapon() as ours is different. 1997-06-12 19:01:02 +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
mycroft
e3f99a9397 Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.
1997-05-08 16:19:43 +00:00
mycroft
837a72363d VEXEC -> VLOOKUP, as appropriate. 1997-05-08 10:57:17 +00:00
thorpej
bf69384ef4 Syscalls.master chagned, regen. (NFSCLIENT -> NFS) 1997-01-31 02:19:34 +00:00
thorpej
83b3ffe116 NFSCLIENT -> NFS 1997-01-31 02:18:54 +00:00
thorpej
8f8abcd69c Regen; makesyscalls.sh emits comments now. 1997-01-13 18:49:02 +00:00
cjs
1c0c346e1d This recently stopped compiling due to a warning about const being
dropped. This fix suggested by cgd.
1996-12-28 22:37:03 +00:00
christos
4d99ae39b0 Remove STACKGAPBASE dependencies. 1996-10-13 01:16:19 +00:00
christos
e14a71a3ae catch up with Jason's changes. 1996-10-13 00:56:02 +00:00
cgd
6ab18a1959 don't include <machine/exec.h> explicitly. No other changes needed, since
<sys/exec.h> was already being included.
1996-10-07 21:43:02 +00:00
mrg
6ad189ffbb minor copyright update. 1996-10-05 23:50:49 +00:00
mycroft
826fb76b6f Regen. 1996-09-07 14:24:17 +00:00
mycroft
1449e67e30 Modify poll(2) prototype. 1996-09-07 14:20:09 +00:00
mycroft
cb488ac22a Definition of pollfd is no longer needed. 1996-09-07 13:02:43 +00:00
mycroft
264dd4757c Regen. 1996-09-07 12:56:49 +00:00
mycroft
2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft
a8fd25767d Define execv() and execve() consistently across emulations.
Do path name translation.
1996-09-03 03:12:17 +00:00
christos
e32eb9631f regen syscall tables 1996-08-30 23:08:21 +00:00
christos
0c1a0303ec add obsolete stime(2) 1996-08-30 23:07:49 +00:00