Commit Graph

1062 Commits

Author SHA1 Message Date
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
thorpej 370d14060a Adapt to signal changes. 1998-10-01 03:26:18 +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
drochner bdecb86492 regen 1998-09-26 16:29:13 +00:00
drochner eb9936b47a Make Ultrix emulation private functions for sigreturn and sigsuspend
because the NetBSD implementation differs now.
1998-09-26 16:24:14 +00:00
drochner 61af1b2158 Update for sigmask changes. 1998-09-26 15:32:26 +00:00
pk 99cd371c60 Fix copyout() argument switch. 1998-09-14 21:05:46 +00:00
pk b1a2d338c9 Fix copyout() arguments. 1998-09-14 21:03:59 +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
thorpej 274c8c5f24 Put the prototypes for native_sig*_to_sig*() in one place. 1998-09-13 01:41:16 +00:00
mycroft 584cc642fc Regen. 1998-09-12 10:33:26 +00:00
mycroft 89ea1fcbdd Version sys_sigreturn, to avoid breaking programs that use it explicitly. 1998-09-12 00:47:12 +00:00
mycroft 5978dc4801 Regen. 1998-09-12 00:10:33 +00:00
mycroft a641f893ab Rename ___posix calls in the syscall list. 1998-09-12 00:10:06 +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
mycroft 11ac489856 Stylistic change. 1998-09-11 12:34:46 +00:00
eeh 44725836bc Add some copyin()/copyout()s. These need to be done but there are more
annoying issues, so I'll just check in this snapshot.
1998-09-11 00:01:57 +00:00
eeh eb1f80313d Use correct 32-bit signal trampoline code in the emul. 1998-09-10 23:55:15 +00:00
thorpej a6c6b5a26b Cosmetic changes. 1998-09-09 23:46:31 +00:00
thorpej 5ff9df860c If we don't find a valid magic, return ENOEXEC, not EINVAL. 1998-09-09 23:37:27 +00:00
thorpej 0d779b28ba If we succeed in preparing the exec package, set the package's emulation
to emul_sparc32.
1998-09-09 23:36:15 +00:00
thorpej 7377cf7f4d MID_MACHINE -> MID_SPARC 1998-09-09 10:29:18 +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
eeh 0a6f6c904d Need to make sure high bits of addresses are zeroed out. 1998-09-07 01:38:03 +00:00
eeh 269f667cb0 Copyout 32-bit args. 1998-09-06 04:34:49 +00:00
lukem c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
christos 8fb507a3b7 Assign copyright to TNF. 1998-09-05 14:50:25 +00:00
christos e1f16dd0c9 Assign copyrights to TNF; tv has copyrights on the remaining files...
It would be nice if he changed them (hint, hint)
1998-09-04 19:54:37 +00:00
eeh 26d2d906c7 Some more 64-bit cleanup. Now everything compiles. 1998-08-30 15:32:16 +00:00
eeh d581aadc3e Some more 64-bit-ification. 1998-08-29 18:16:56 +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
christos 667541561d Try to implement I_GETSIG to make netscape work again (untested) 1998-08-27 07:04:31 +00:00
mrg 1f9d0626af regen. 1998-08-26 13:46:56 +00:00
mrg fa380eed0f make oreboot work. 1998-08-26 13:42:50 +00:00
mrg c757d26220 use right syscalls. add converters for timespec and semid_ds 1998-08-26 13:42:22 +00:00
mrg 25f5eb1d01 fake sendsig for now.. 1998-08-26 13:38:32 +00:00
mrg 62ba41606d use right syscalls 1998-08-26 13:38:21 +00:00
mrg d3aee6e637 regen 1998-08-26 10:24:11 +00:00
mrg 3ba6ab0970 add a 32-bit compatibility module for the sparc64 port, so it can run NetBSD/sparc binaries with a LP64 kernel. 1998-08-26 10:20:33 +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
ragge fc2106d632 VAX 1k page size compatibility executable handling. 1998-08-21 13:25:47 +00:00
thorpej ff266f0937 Add some braces to make egcs happy. 1998-08-18 18:23:07 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +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
kleink 86233eeede Regen again, to indicate which master revision these were generated from. 1998-08-07 17:21:35 +00:00
augustss 48bae9ee88 Add MIDI support. The MIDI devices can be accessed as ``raw'' through
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).
1998-08-07 00:00:55 +00:00
mrg 7ba85a8779 if syscall_debug & compat_sunos, include sunos_syscalls.c 1998-08-06 02:58:44 +00:00
perry f15ade7552 enable nanosleep in linux emul, per pr-5906 from Soren S. Jorvang 1998-08-05 00:44:32 +00:00
kleink c6ef57702d UIO_MAXIOV -> IOV_MAX 1998-08-04 12:19:15 +00:00
kleink 3d9b4a4320 Fix two off-by-one bugs, both present in each recvmsg(2) and sendmsg(2):
* the first one would cause an unnecessary malloc() of iovec storage for
  a msg_iovlen of UIO_SMALLIOV although the required amount of memory has
  been allocated on the stack.
* the second one would cause a recvmsg() or sendmsg() with a msg_iovlen of
  UIO_MAXIOV to fail with EMSGSIZE, which is also a violation of XNS5.
1998-08-03 15:15:58 +00:00
kleink af261318d9 Now that we have it, add a conversion for _PC_SYNC_IO. 1998-08-03 14:23:30 +00:00
thorpej 0e28b643e9 Use a pool for proc structures. 1998-08-02 04:41:32 +00:00
thorpej 37b70b3064 Change the "aresid" argument of vn_rdwr() from an int * to a size_t *,
to match the new uio_resid type.
1998-07-28 21:39:54 +00:00
lukem 786b86d71b use AF_LOCAL instead of AF_UNIX 1998-07-18 05:04:35 +00:00
thorpej 35bb79bc83 Oops, fix typo, pointed out by Urban Boquist <boquist@cs.chalmers.se>. 1998-07-07 00:40:27 +00:00
jonathan d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
mhitch 3950d164c0 Add missing include of "opt_nfsserver.h". 1998-07-03 20:03:04 +00:00
thorpej 33f066d24c Implement the shrinking and no-change bits of the Linux mremap(2) system
call, provided by Urban Boquist <boquist@cs.chalmers.se> in PR #5693.

Add a comment about how one might implement the growing bit of mremap(2).
1998-07-02 23:26:58 +00:00
thorpej 469eb58301 Fix pread64/pwrite64 wrt. argument translation. 1998-07-02 02:20:21 +00:00
thorpej dd0758a46a Oops, fix a couple of brain-o's. 1998-07-01 01:23:25 +00:00
thorpej b413670e49 Regen. 1998-07-01 00:41:55 +00:00
thorpej f76a7b5d83 Add a bunch more system calls from Digital UNIX 4.0D. 1998-07-01 00:41:36 +00:00
thorpej 576184d528 Put pread64() and pwrite64() back in here, but just call the native
NetBSD system call with no argument translation.
1998-06-30 23:34:05 +00:00
thorpej c21db87c09 Regen. 1998-06-30 23:32:07 +00:00
thorpej 641ea73301 Revert the last change; it had a side-effect that I didn't think about. 1998-06-30 23:31:28 +00:00
thorpej f8fe385b78 Rewrite svr4_sys_pread() and svr4_sys_pwrite() in terms of the native
NetBSD pread(2) and pwrite(2).  These still require indirection because
the arguments need to be converted to the correct types.

Delete svr4_sys_pread64() and svr4_sys_pwrite64(), since the arguments
for these calls do not need conversion, and the syscall switch calls
the native NetBSD system calls directly.
1998-06-30 19:42:56 +00:00
thorpej e05b7cc70b Regen: syscalls.master changed to reflect native pread/pwrite. 1998-06-30 19:40:55 +00:00
thorpej cf54391ad7 Now that NetBSD has pread(2) and pwrite(2), we no longer need to indirect
through SVR4 emulation layers to handle SVR4's pread64(2) and pwrite64(2),
since NetBSD's arguments are the same as the SVR4 64-bit system call
arguments.
1998-06-30 19:40:13 +00:00
scottb fe00c5db7f fix typo that broke directory read emulation. 1998-06-28 01:20:06 +00:00
hannken 6f6901bd1a Include NFSSERVER option header opt_nfsserver.h. 1998-06-26 10:13:14 +00:00
thorpej 8aee7782f5 defopt COMPAT_SUNOS 1998-06-25 23:40:33 +00:00
thorpej 21592147a1 defopt COMPAT_ULTRIX 1998-06-25 23:27:56 +00:00
thorpej bb13cd15fb Regen: defopt NFSSERVER 1998-06-25 22:20:04 +00:00
thorpej 5b34683734 defopt NFSSERVER 1998-06-25 22:19:50 +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
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 971b8956ef defopt KTRACE 1998-06-25 21:18:11 +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
sommerfe becaafeea0 defopt for options FIFO 1998-06-22 22:00:59 +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
drochner 81fd096b37 Since wscons can support VT_xxx ioctl()s, enable them if NWSDISPLAY > 0.
Implement KDGKBTYPE and KDGKBENT, this will make X servers happy.
1998-06-11 22:26:13 +00:00
augustss 9af4656838 Fix off by 1 error 1998-05-25 17:13:43 +00:00
chs 75a77b5286 regen 1998-05-20 16:35:19 +00:00
chs 20a0fa6146 make this compile again. 1998-05-20 16:34:29 +00:00
kleink 687ea7404c Fix some arithmetics lossage on typeless pointers. 1998-05-08 16:55: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
kleink d40e7c810b Make adding new source files easier and enhance readability by ordering SRCS
items by (Net)BSD version first, then alphabetically.
1998-04-28 16:27:51 +00:00
mycroft 487d1fa05e Fix typo in utime(). 1998-03-24 09:47:30 +00:00
mycroft aa1112aed5 SETFRAGMENT ignores the high bit. 1998-03-19 06:53:28 +00:00
thorpej 8118bb3984 Make this compile again in light of Lite2. 1998-03-05 22:51:35 +00:00
thorpej c5ecc8ab11 Arrgh, I said "abort", dammit... 1998-03-05 22:49:20 +00:00
thorpej dfdde49707 *** empty log message *** 1998-03-05 22:48:34 +00:00
scottb 297f065eec Duplicated null cookiebuf check from ibcs2_sys_getdents to ibcs2_sys_read. 1998-03-05 04:49:50 +00:00
scottb 8adcd13408 Fixed incorrect assumption that svr4_semctl is passed a 'union semun' pointer 1998-03-05 04:42:49 +00:00
scottb 9273595150 Added support for ibcs2_sigcode.
Added new emulation structure, emul_ibcs2_xout, for XENIX.
Modified some syscalls to differentiate between XENIX and UNIX.
Fixed major bug in semaphore structure emulation size and conversion.
Check and cleanup copyin/copyout usage.
Add xenix_sys_locking patches from Andreas Wrede <andreas@planix.com>.
1998-03-05 04:36:07 +00:00
scottb 498bb9530b Modified compat_10_sys_semsys to correctly read in a union arg (a5)
and pass a union pointer arg to sys___semctl
1998-03-05 04:26:35 +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