Commit Graph

441 Commits

Author SHA1 Message Date
thorpej 0f74e48ca5 Emulate the Linux {get,set}resgid(2) system calls. 1999-05-14 18:45:31 +00:00
thorpej 8a61761cc5 Emulate the Linux {get,set}resuid(2) system calls. 1999-05-14 18:44:50 +00:00
thorpej dd623ce325 Regen. 1999-05-14 18:44:15 +00:00
thorpej a03622b33f Emulate the Linux vfork(2) (which is like NetBSD's __vfork14(2)),
{get,set}resuid(2), and {get,set}resgid(2).  Note a few more system
calls that we don't yet emulate.
1999-05-14 18:43:58 +00:00
thorpej 5f1b28961e Regen. 1999-05-14 18:43:20 +00:00
thorpej e0a6808cef Emulate the Linux vfork(2) (which is like NetBSD's __vfork14(2)),
{get,set}resuid(2), and {get,set}resgid(2).  Note a few more system
calls that we don't yet emulate.
1999-05-14 18:43:01 +00:00
thorpej 64d90992b4 Regen. 1999-05-14 18:41:20 +00:00
thorpej ba8fcafa16 Emulate the Linux vfork(2) (which is like OSF/1 vfork(2) and NetBSD's
__vfork14(2)) and {get,set}resuid(2).  Linux does not have {get,set}resgid(2)
on their Alpha port!
1999-05-14 18:39:38 +00:00
thorpej 087adcea52 Regen. 1999-05-13 23:43:15 +00:00
thorpej fa1c5fed1a Emulate the Linux clone(2) system call. 1999-05-13 23:42:34 +00:00
thorpej 053ec76d86 Fully emulate the Linux wait4(2) system call, including the __WCLONE
flag (which is equivalent to our new WALTSIG).
1999-05-13 01:00:50 +00:00
thorpej 5512f35a12 Define the flags used by the Linux wait4() system call. 1999-05-13 00:31:57 +00:00
thorpej e2c674e2c6 Add scheduling-related definitions. Currently we have the flags passed
to the __clone(2) system call.
1999-05-12 19:49:09 +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
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
kleink 6a9c669828 Move linux_reenter_syscall() to a common location and rename it to
reenter_syscall() - it's going to be shared with COMPAT_SVR4 and soon be
used by native code.
1999-04-19 20:58:37 +00:00
tron ab9ea90a8e Regen. 1999-03-30 07:37:58 +00:00
tron b46e8732dd Add poll() emulation. 1999-03-30 07:29:05 +00:00
abs bb2d7dd6dc Regenerate (with poll()) 1999-03-30 02:25:32 +00:00
abs 9c2ef08c3e Since NetBSD has poll(), use it.
Linux oracle install now gets far enough that I want our DBA around to
see if we can finish the job.
1999-03-30 02:22:49 +00:00
tron 82f6a3397b Regen. 1999-03-27 01:15:58 +00:00
tron 5b98b641a8 Add emulation for Linux "getcwd" syscall. 1999-03-27 01:10:56 +00:00
sommerfe 280a842850 commit fix to PR7072: emulate linux non-blocking connect behavior more correctly 1999-03-25 04:26:45 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
thorpej 9d49c8139a Regen; pread(2) and pwrite(2). 1999-03-23 03:01:48 +00:00
thorpej e8a3256e7f Add support for emulating the Linux pread(2) and pwrite(2) system calls;
just call the native NetBSD versions.

PR #7202, Jaromir Dolecek <dolecek@ics.muni.cz>.
1999-03-23 03:00:51 +00:00
itohy cfcb284c09 cachectl -> cachectl1 1999-03-02 18:22:29 +00:00
itohy da0a919754 Regen. 1999-02-10 10:38:15 +00:00
itohy 5af2655c9d const mania 1999-02-10 10:36:26 +00:00
christos c3ae7cb2a9 Regen 1999-02-09 20:38:38 +00:00
christos c8216580df const poisoning. 1999-02-09 20:37:19 +00:00
christos 8024779058 const poisoning 1999-02-09 20:37:00 +00:00
tron f7f56f986f Revert last changes:
Because "linux_ipccall.h" cannot be included before "sys/shm.h" and
"sys/shm.h" needs to be included after "opt_sysv.h" include "opt_sysv.h"
in "linux_ipccall.c" again.
1999-01-10 15:05:36 +00:00
kleink 5f79ea56a1 Rearrange the emulation-specific setregs() entry to set up the FPU control
word *after* calling the native setregs(), which would clobber it again.
1999-01-08 11:59:38 +00:00
erh 5c1e9076ad Make consistent: si_ -> lsi_ 1999-01-03 05:34:39 +00:00
erh b19295f334 Speed up compilation by #include-ing C files from common into one file. 1999-01-03 05:29:31 +00:00
erh d9a22c586a Undo previous: Put back opt_sysv.h 1999-01-03 05:18:01 +00:00
erh f1a0e1b396 Avoid name clash with standard si_{uid,pid} fields. 1999-01-03 04:53:59 +00:00
erh 5422cb89d9 Moved sysv opt include to header file. 1999-01-03 04:30:56 +00:00
erh 4289065a1b Moved opt include to header file. 1999-01-03 03:54:45 +00:00
erh 41590f69e2 Grab the sysv options. 1999-01-03 03:52:22 +00:00
drochner 8b9671f0f5 get "opt_compat_xxx.h" includes out of <sys/signal.h> 1998-12-19 16:27:09 +00:00
christos f9ac5ff367 more defensive signal conversion, and fix a malloc sizeof(int) to sizeof(int *). 1998-12-16 10:21:50 +00:00
itohy 0c080222db Added linux compat support on m68k ports. 1998-12-15 19:31:30 +00:00
itohy e0f218ab08 Generated from syscalls.master. 1998-12-15 19:28:31 +00:00
itohy 0176ca73ed Initial support of Linux/m68k compatibility. 1998-12-15 19:25:40 +00:00
augustss 57186cce33 Slight code rearrangement and more defensive tests for the sequencer device. 1998-12-15 10:32:16 +00:00
christos f0c7751046 Regen 1998-12-10 17:13:06 +00:00
christos 35af069802 defopt COMPAT_43 1998-12-10 17:07:04 +00:00
erh efe6591d21 Whoops, _NSIG->LINUX__NSIG. 1998-12-10 00:31:50 +00:00
erh f7373c1eba Add mmap header. 1998-12-08 21:02:18 +00:00
erh cdc6431c25 At least make this compile. Add linux compat version of auxillary data eventually to be used to make the emulation work correctly. 1998-12-08 21:00:11 +00:00
drochner c48ea35c91 include missing SYSV option header - PR kern/6479 by Urban Boquist 1998-11-22 15:00:47 +00:00
erh bda913305b Make sure the interpreter string is long enough to check against. 1998-11-05 22:19:25 +00:00
christos 7d7a80a8fd Allow kdump to compile again. 1998-10-24 19:03:53 +00:00
veego 4c127bdcd4 Include linux_errno.h to fix the recent error->errno losage. 1998-10-23 10:54:58 +00:00
erh 907ec5233d linux_error.c moved to linux_errno.c 1998-10-23 03:56:22 +00:00
erh 8b351f0104 Change linux_error to native_to_linux_errno. Add some (unrelated) debugging printfs. 1998-10-23 03:53:18 +00:00
erh 76aa1f4bcf Moved to linux_errno.c,v 1998-10-23 03:46:25 +00:00
erh a766015254 Moved from linux_error.c,v 1998-10-23 03:45:37 +00:00
erh dd1e5f373e Define LINUX_GCC_SIGNATURE. 1998-10-22 18:13:02 +00:00
tron 120e9f4e91 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:37:53 +00:00
tron 76a0f5408b Regen. 1998-10-19 22:25:55 +00:00
tron c71ccab136 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:21:19 +00:00
erh edeeb71bd8 Add the sigaction call. 1998-10-07 23:48:04 +00:00
erh 00a3eb89be This is used on the alpha. It is called osf_sigaction under linux because of the format of the sigaction structure but it acts the same. 1998-10-07 23:47:44 +00:00
erh 7d45dcb522 Kill the linux_old*.h includes (which are only used in the corresponding linux_old*.c). Add linux_siginfo.h. 1998-10-07 23:11:13 +00:00
erh ecdbc1172b Regen. 1998-10-07 23:08:26 +00:00
erh 358899800e Change sys_mmap to NOARGS. (args defined in linux_sys_mmap.h). Typo: siginfo_t->linux_siginfo_t. 1998-10-07 23:07:30 +00:00
erh 1a89cf484f Move linux_sys_mmap declarations to linux_mmap.h Make sure oldmmap.c includes oldmmap.h. 1998-10-07 23:06:17 +00:00
erh 8ce2ceae35 Fix typos. 1998-10-07 23:05:09 +00:00
erh a956aca8aa This needs its defines. 1998-10-07 22:58:19 +00:00
erh 47a9e7f352 Fix typos. 1998-10-07 22:50:42 +00:00
erh baf6c8420d Fix types. Kill old declarations. 1998-10-07 22:45:51 +00:00
erh c7176f00e4 The siginfo include line is not needed here anymore. 1998-10-07 22:17:57 +00:00
erh 3bd73b1ef1 Add prototype for linux_sigprocmask1(). 1998-10-07 22:13:39 +00:00
erh ddbb7b3349 sigprocmask (non-rt) version doesn't exist on alpha. rename it to sigprocmask1 for use in linux_sys_sigprocmask and linux_sys_rt_sigprocmask. 1998-10-07 22:12:48 +00:00
erh 30f959e6c6 sigprocmask (non-rt version) doesn't exist on alpha. Add it here. 1998-10-07 22:11:16 +00:00
erh 15eaa765b7 Files moved. Change the paths here. 1998-10-07 20:50:44 +00:00
christos 9ec65653f5 unobfuscate: !strncmp() != 0 -> strncmp() == 0 1998-10-04 16:51:18 +00:00
fvdl 26c9084f20 Fix pointer fuckup that made getdents() stop working. 1998-10-04 10:17:54 +00:00
fvdl 19f71dc8ff Fix wrong strncmp test. 1998-10-04 09:40:09 +00:00
fvdl 8096c25afc Assign my copyright to TNF. Merge with others were appropriate.
Regen syscall files after script change.
1998-10-04 00:02:23 +00:00
christos af8c2a82b9 Remove this file. 1998-10-03 20:30:37 +00:00
christos 96dc2f3c56 Remove stray debugging printfs 1998-10-03 20:28:03 +00:00
christos 5f13e45116 Forgot those two. 1998-10-03 20:20:04 +00:00
christos 908291d2fe Attempt to fix the mess. 1998-10-03 20:17:36 +00:00
christos e00e31dcab Integrated in common. 1998-10-03 20:02:26 +00:00
christos 49b61257dc Moved via repository copy. 1998-10-03 18:50:20 +00:00
christos 5bc85e96b4 Moved via repository copy 1998-10-03 18:47:24 +00:00
christos a7ed63d0ee moved via repository copy. 1998-10-03 18:45:22 +00:00
christos 6e98c7aef2 Moved via repository copy 1998-10-03 18:44:32 +00:00
christos 6e31782a3f moved via repository copy. 1998-10-03 18:43:28 +00:00
perry 036f631693 shut up egcs complaints by adding braces 1998-10-01 18:58:28 +00:00
perry 4a2f07c9cd shut up egcs complaints about braces 1998-10-01 18:57:05 +00:00
perry 5535f2a14b Add braces to shut up egcs 1998-10-01 18:53:37 +00:00
christos 627091bd84 Provide a suitable default so that kdump compiles on architectures
not supported yet.
1998-10-01 18:23:37 +00:00
erh fd21ba4d9b Add info on things left to do. 1998-10-01 04:27:33 +00:00
erh 5199a97864 Add the architechture-wise multiplexing header files. These are the files that should be included by anything that needs a linux compat header. These will then include the appropriate architechture dependent and common header file(s). 1998-10-01 04:20:16 +00:00
erh 4dc8295a26 Enable "includes" and "all"(=makesyscalls.sh) targets for alpha, common and i386. 1998-10-01 04:16:33 +00:00
erh 5dbbd9e2d1 Architechture-wise multiplexer for linux_syscalls.c. This exists because kdump, et al. include this file. 1998-10-01 04:13:25 +00:00
erh df1521ebe1 Modified to reflect new file layout. arch/<arch>/conf/files.<arch> should include this file and the appropriate compat/linux/<arch>/files.linux_<arch> file. 1998-10-01 04:11:26 +00:00
erh 9eef4e2e35 Kinda moved to compat/linux/Makefile.sc. 1998-10-01 04:08:38 +00:00
erh 19e9e9c2ef These syscall table files have been regenerated in compat/linux/i386. 1998-10-01 04:07:34 +00:00
erh d70c9cdbc9 Wheeee!: 8-way split of compat/linux/linux_misc.c into common code and multi-architechture functions. 1998-10-01 04:05:54 +00:00
erh c0a539a588 Define structures needed for these functions. 1998-10-01 04:00:20 +00:00
erh 46f5ff0021 Move compat/linux/linux_util.h to common. 1998-10-01 03:54:36 +00:00
erh 29217a6082 Move compat/linux/linux_sockio.h to common. 1998-10-01 03:53:00 +00:00
erh fe99a5c47e Add a couple function prototypes from linux_misc.c. 1998-10-01 03:49:59 +00:00
erh b64f5d3b1a Move IPC headers to common. The msg, sem and shm files, in addition to other common structures and to avoid creating several more machine dependent header files, include the syscall arguments for several system calls which don't exist on all architechtures. 1998-10-01 03:48:31 +00:00
erh e6ad366c04 Moved from compat/linux/linux_dirent.h to common. 1998-10-01 03:37:51 +00:00
erh e6a3796d67 Moved from compat/linux/linux_termios.c to common. 1998-10-01 03:36:27 +00:00
erh 658c307a1a Move compat/linux/linux_socketcall.h to multiarch. Defines for the socketcall multiplexer. 1998-10-01 03:34:50 +00:00
erh 81cc399a4d Split linux/compat/linux_socket.c into common and multi-architechture parts. linux_socketcall.c contains the socketcall multiplexer. 1998-10-01 03:33:17 +00:00
erh 4ab27f44f9 Move linux/compat/linux_ipccall.h to multiarch. Defines for the IPC multiplexerand associated functions. 1998-10-01 03:29:45 +00:00
erh d4649701f2 Split compat/linux/linux_ipc.c into common and multi-architechture parts. The IPC multiplexer and associated functions are now in linux_ipccall.c 1998-10-01 03:27:38 +00:00
erh f7ec994736 Move compat/linux/linux_ioctl.c to common. 1998-10-01 03:24:28 +00:00
erh 0060940d40 Split compat/linux/linux_file.c into common and multi-architechture parts. 1998-10-01 03:22:11 +00:00
erh f7ac1bd375 Split compat/linux/linux_exec.c into common, elf and a.out parts. 1998-10-01 03:11:33 +00:00
erh 5b06d1ed0b Move compat/linux/linux_error.c to common. 1998-10-01 02:32:24 +00:00
erh a20d9dce3e Moved compat/linux/linux_cdrom to common. 1998-10-01 02:30:36 +00:00
erh fcaf5df8c2 Split compat/linux/linux_signal.c into i386, common and multi-architecture parts. 1998-10-01 02:27:33 +00:00
erh 7588fef564 Moved here from arch/i386/include/linux_machdep.h. 1998-10-01 02:22:01 +00:00
erh ecb2c14c6e Moved here from arch/i386/i386/linux_machdep.c. 1998-10-01 02:17:31 +00:00
erh 2637ab656d Move compat/linux/linux_exec.h to common. 1998-10-01 02:11:00 +00:00
erh 0b412af4e1 Add linux i386 machine type. 1998-10-01 02:09:12 +00:00
erh 39fa21b763 Regen. 1998-10-01 02:05:32 +00:00
erh 14b1e271b5 Move compat/linux/syscalls.master to i386. Add a few syscalls while I'm here. 1998-10-01 02:03:17 +00:00
erh 9c4b9e9840 Split compat/linux/linux_termios.h into i386 and common parts. 1998-10-01 01:52:58 +00:00
erh 5139d084ba Split compat/linux/linux_ioctl.h into i386 and common parts. 1998-10-01 01:33:03 +00:00
erh ecdc99eb5f Split linux_types.h into i386, common and multi-architechture parts. 1998-10-01 01:31:10 +00:00
erh 79905dc1f3 Split linux_socket.h into i386 and common parts. 1998-10-01 01:19:07 +00:00
erh 45c3ba3edb Split linux_fcntl.h into i386 and common parts. 1998-10-01 01:16:42 +00:00
erh a3f5b4f0e7 Split compat/linux/linux_errno.h into i386 and common parts. 1998-10-01 01:03:37 +00:00
erh a7f2aff0a7 Split compat/linux/linux_signal.h into i386 and common parts. 1998-10-01 00:57:29 +00:00
erh b8454a0669 Split compat/linux/linux_mmap.h into i386 and common parts. 1998-10-01 00:53:44 +00:00
erh 948d228b24 Moved from compat/linux. 1998-10-01 00:42:01 +00:00
erh 18c41cce3e Moved to compat/linux/i386. 1998-10-01 00:37:53 +00:00
erh 72041f8e72 Alpha version of the linux compat machdep signal and machdep ioctl stuff. 1998-10-01 00:34:22 +00:00
erh b513364563 Alpha specific version of sys_pipe and signal translation array. 1998-10-01 00:32:27 +00:00
erh 1a0a0103aa New list of files for the i386. 1998-10-01 00:29:11 +00:00
erh 293ccb5512 New makefiles for includes, syscall gen. 1998-10-01 00:28:33 +00:00
erh ad1f9288a2 Stubs for future development of linux compat architechtures. 1998-09-30 21:55:57 +00:00
erh cb71edeaa4 Common makefile to process syscalls.master files. 1998-09-30 21:38:46 +00:00
erh a919a6b4a8 New header files for Linux compat on the Alpha. 1998-09-30 21:36:23 +00:00
erh 69ebd14bba Generate. 1998-09-30 21:34:32 +00:00
erh 847d4565e9 Initial support for linux compat on the alpha. Not quite working. 1998-09-30 18:01:53 +00:00
tv b8aba69399 Bracket stray printf()s by #ifdef DEBUG. 1998-09-29 14:15:49 +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