Commit Graph

902 Commits

Author SHA1 Message Date
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