Commit Graph

149 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
jdolecek 73f3cd8c7e LKMify 2000-11-29 21:51:49 +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
onoe eb1f8f2a3a Map the ioctl number of ifioctl ('i') group as much as possible.
commands are:		FreeBSD	NetBSD
	SIOCALIFADDR	27	28
	SIOCGLIFADDR	28	29
	SIOCDLIFADDR	29	30
	SIOCGIFMTU	51	126
	SIOCSIFMTU	52	127
* SIOCGLIFADDR is necessary for cvsup to work.
commands not emulated are:
	SIOCGIFPHYS, SIOCSIFPHYS, SIOCGIFSTATUS, SIOCSIFLLADDR
2000-10-09 06:19:31 +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
itojun a282297e9a regen 2000-08-08 02:15:09 +00:00
itojun eab255c93f s/#ifdefined/#ifdef/ 2000-08-08 02:12:30 +00:00
bjh21 24f9914cb3 Second phase of changes to remove ntp_adjtime(2) from the kernel entirely if
NTP is not defined.

Also removes sysctl_ntptime, since that's unreferenced without NTP.

ntp_gettime(2) is left alone, since it doesn't raise SIGSYS, which sys_nosys()
does.
2000-08-07 18:10:20 +00:00
bjh21 a9397f5bfc Changes to syscalls.master to exclude ntp_adjtime(2) entirely if NTP is not
defined.  Changes to other files will follow in a moment.
2000-08-07 17:59:33 +00:00
onoe 0dbbd8cec4 implement new signal syscalls in FreeBSD 4.0-RELEASE, using native syscalls:
sigaction, sigprocmask, sigsuspend, and sigpending.
2000-07-18 14:15:05 +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
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
tv 01780e8115 Add names for many syscalls not yet implemented, including those in
FreeBSD 4.0-RELEASE.  Also implement the following using existing NetBSD
syscalls:  pread, pwrite, getsid, mlockall, munlockall, __getcwd.
2000-05-23 16:05:51 +00:00
minoura 48145d0463 Regen. 2000-04-21 16:18:54 +00:00
minoura 58c5fb660b We have now native issetugid. 2000-04-21 16:18:16 +00:00
kleink 522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
thorpej c1f3fb3299 Regen. 1999-08-25 04:48:48 +00:00
thorpej 710fa26673 Update for new msgctl()/semctl()/shmctl(). 1999-08-25 04:48: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
drochner 6e2b65ec1d regen 1999-06-09 12:38:50 +00:00
drochner b4e4c530db add "sys_" prefix to LFS syscalls 1999-06-09 12:33:18 +00:00
cgd af8a9059d3 compute the value to be used for e_arglen via howmany(value, sizeof (char *)),
rather than just "value / sizeof (char *)".  While in these cases the latter
works as well, the former's a better example for other uses to copy (since
it handles the non-integral multiple case correctly).
1999-04-30 23:07:01 +00:00
christos ec4586b831 Regen 1999-02-09 20:46:40 +00:00
christos c3ae7cb2a9 Regen 1999-02-09 20:38:38 +00:00
christos 743761347e PR/6962: Paul Shupak: FreeBSD-3.0 additions
- const poisoning
1999-02-09 20:19:13 +00:00
christos 90fd1df29a PR/6962: Paul Shupak: ELF Freebsd support 1999-02-09 20:17:50 +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 3461a6eb39 Regen. 1998-10-19 22:28:16 +00:00
tron ccb04baa10 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:26:39 +00:00
veego 952dd0f6bc There is no need to include ../linux/linux_ioctl.h. 1998-10-04 11:25:28 +00:00
eeh 1281be6b0e Fix big-endian syscall args. 1998-10-03 19:31:24 +00:00
mycroft f384c47bc7 Regen. 1998-09-11 23:13:32 +00:00
mycroft fb526e055c Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
christos 8fb507a3b7 Assign copyright to TNF. 1998-09-05 14:50:25 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
thorpej 227197f1ef Regen: defopt NFSSERVER 1998-06-25 22:18:53 +00:00
thorpej 6b781d156f defopt NFSSERVER 1998-06-25 22:17:36 +00:00
thorpej b13482a5ce Regen: defopt KTRACE 1998-06-25 21:17:56 +00:00
thorpej 808867c7cf defopt KTRACE 1998-06-25 21:17:15 +00:00
christos 3f0a958f6d regen. 1998-05-02 18:14:56 +00:00
christos f6cd9bf78b PR/5350: Minoura Makoto: add issetugid() syscall. (with fixes from me) 1998-05-02 18:14:06 +00:00
thorpej dc4fe3d32d Regen: makesyscalls.sh changed. 1998-02-19 03:34:15 +00:00
thorpej 6f0c98c0d4 Regen: syscalls.master and makesyscalls.sh changed. 1998-02-19 00:36:33 +00:00
thorpej fcb761ac95 Include the NFS option header. 1998-02-19 00:36:03 +00:00
mycroft 9dd67a9098 Prototype new functions. 1998-01-24 12:39:37 +00:00
mycroft 69b60a733c Use freebsd_setregs(). 1998-01-24 12:33:15 +00:00
mycroft b77637a440 Fix an old typo that caused shmdt() to fail. 1998-01-22 17:22:52 +00:00
mycroft c79bc94b0e Regen. 1998-01-22 16:32:40 +00:00
mycroft 1e948ee1c3 Put a local copy of the SysV IPC compatibility from compat/common in here, so
it's not dependent on COMPAT_10.  Also, fix translation of shmctl(), since
FreeBSD's is a little different.
1998-01-22 16:31:33 +00:00
thorpej 9a4eec1ed1 Regen. 1998-01-09 06:14:57 +00:00
thorpej d92ba4e07c Regen. 1998-01-09 06:10:55 +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
perry 3c47900572 RCSID Police. 1998-01-05 17:51:27 +00:00
veego de86e7d596 Regen. 1997-11-30 18:08:01 +00:00
veego 02444cbd23 Change syscall table to use the 1.3 compatibility sigaltstack() function
(fix from kleink).
1997-11-30 18:06:39 +00:00
thorpej 14cd99880c Fix the shared library versioning snafu caused by the recent changes
to the stat(2) family and msync(2).  This uses a primitive function
versioning scheme.

This reverts the libc shared library major version from 13 to 12, and
adds a few new interfaces to bring us to libc version 12.20.

From Frank van der Linden <fvdl@NetBSD.ORG>.
1997-10-20 22:05:06 +00:00
christos e196a361ce Regen. 1997-10-18 16:31:59 +00:00
christos 885404d216 Use stat12; from Enami Tsugutomo 1997-10-18 16:30:25 +00:00
christos 0585de8731 Regen. 1997-10-16 23:50:20 +00:00
christos 1d60a72b89 ostat -> stat43 1997-10-16 23:48:18 +00:00
mycroft 91302e62ef Regen. 1997-10-16 03:36:14 +00:00
mycroft 68fb837229 Fix a typo inherited from kern/syscalls.master. 1997-10-15 17:18:17 +00:00
lukem 28558b28eb rcsid fascism 1997-10-13 14:22:22 +00:00
enami fdd96411d4 Regen from syscalls.master 1.9. 1997-10-10 02:01:03 +00:00
enami 9b1963acd5 Regen from syscalls.master 1.9. 1997-10-10 02:00:57 +00:00
enami 6e4ffc538f Regen from syscalls.master 1.9. 1997-10-10 02:00:54 +00:00
enami 3c1a195715 lchown at #254. 1997-10-10 01:55:33 +00:00
enami 23b3ed1d5c New function freebsd_sys_lchown() to emulate FreeBSD lchown(2). 1997-10-10 01:50:55 +00:00
fvdl 49d58c7d89 Regen. 1997-10-10 01:45:48 +00:00
fvdl b35ec5940b Channel FreeBSD getdirentries to our now obsolete getdirentries call. 1997-10-10 01:44:59 +00:00
pk e3680b0e26 config.new => config 1997-07-20 20:33:08 +00:00
thorpej 896ec49c49 Regen: Use compat_12_sys_swapon(). 1997-06-13 19:12:58 +00:00
thorpej 6f6452cc13 Use compat_12_sys_swapon(). 1997-06-13 19:11:42 +00:00
augustss 7d386f10b8 Adjust ioctl() encoding before calling OSS audio code. 1997-05-06 23:56:43 +00:00
augustss 32801cf383 * Move the Linux audio emulation into its own directory and rename it
OSS (aka VoxWare) audio emulation.
* Use the OSS audio emulation for Linux and FreeBSD.
* Add mixer emulation to the OSS emulator.
1997-04-04 15:35:54 +00:00
thorpej b266dedfc8 Syscalls.master changed, regen. (NFSCLIENT -> NFS) 1997-01-31 02:18:26 +00:00
thorpej 12cb3aaf21 NFSCLIENT -> NFS 1997-01-31 02:17:46 +00:00
thorpej 8f8abcd69c Regen; makesyscalls.sh emits comments now. 1997-01-13 18:49:02 +00:00
mycroft b8464bb9da Fix pasto. 1996-12-10 08:54:53 +00:00
christos 6e5a87c781 regen 1996-09-20 16:43:55 +00:00
christos a9028f3d76 getlogin -> __getlogin 1996-09-20 16:19:27 +00:00
mycroft 5de9f548a2 Give every emulation its own Makefile for the syscall table. 1996-09-03 03:18:04 +00:00
mycroft a8fd25767d Define execv() and execve() consistently across emulations.
Do path name translation.
1996-09-03 03:12:17 +00:00
mycroft fdc697b5e9 Catch up with setre[ug]id() changes. 1996-06-23 11:17:50 +00:00
christos 4f3ac596f5 - rename cpu_exec_aout_prep_oldzmagic to exec_aout_prep_oldzmagic 1996-05-18 16:02:08 +00:00
christos 744868c6a0 gcc -Wall fixes. 1996-05-03 17:03:09 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
gwr 883be4be3a ufs ==> ffs 1995-11-07 22:27:21 +00:00
mycroft 28484180c7 Fix minor oversight. 1995-10-10 18:27:25 +00:00
mycroft e6d9bc8787 Fix typo. 1995-10-10 01:34:37 +00:00
mycroft a91100d6af Oops; remove something. 1995-10-10 01:20:55 +00:00
mycroft e1ac4c6362 Output of makesyscalls.sh. 1995-10-10 01:20:11 +00:00
mycroft 63bb46e733 FreeBSD binary compatibility module, from Noriyuki Soda. 1995-10-10 01:19:24 +00:00