Commit Graph

281 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
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
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
christos 667541561d Try to implement I_GETSIG to make netscape work again (untested) 1998-08-27 07:04: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
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
lukem 786b86d71b use AF_LOCAL instead of AF_UNIX 1998-07-18 05:04:35 +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 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
sommerfe becaafeea0 defopt for options FIFO 1998-06-22 22:00:59 +00:00
scottb 8adcd13408 Fixed incorrect assumption that svr4_semctl is passed a 'union semun' pointer 1998-03-05 04:42:49 +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 2ea9f5648e regen; makesyscalls.sh changed 1998-02-19 00:45:36 +00:00
thorpej 054d3ec0b2 Change a comment to reflect new makesyscalls.sh behavior. 1998-02-19 00:45:12 +00:00
kleink f1d879bb87 Regen: use POSIX semantics for chown()/fchown()/rename() syscalls, add lchown(). 1998-02-14 21:43:35 +00:00
kleink b9233971cd * Use sys___posix_{chown,fchown}() insteade of sys_{chown,fchown}().
* Change reference from sys_posix_rename() to sys___posix_rename().
* Emulate lchown().
1998-02-14 21:40:54 +00:00
thorpej 5f8168f660 Use the sesssion's stored SID in getsid(). 1998-02-14 01:33:18 +00:00
kleink 552ec236a0 Map ENOMSG. 1998-02-10 14:37:38 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
mikel 4de16acd9c update errno maps, we now have EIDRM 1998-02-06 08:26:02 +00:00
mrg 1a8c7604f4 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)
1998-02-05 07:59:28 +00:00
christos 3c7ab5dc3a Regen. 1998-02-01 13:25:00 +00:00
christos eff7649981 Enable nanosleep 1998-02-01 13:12:42 +00:00
mycroft 9dd67a9098 Prototype new functions. 1998-01-24 12:39:37 +00:00
mycroft 112a8edc95 Use svr4_setregs(). 1998-01-24 12:34:16 +00:00
mycroft c9c365814e Regen. 1998-01-22 17:36:16 +00:00
mycroft 88ff8086d8 Nor COMPAT_09. 1998-01-22 17:36:01 +00:00
mycroft 91668a26c1 Regen. 1998-01-22 17:34:15 +00:00
mycroft 95745ffc95 This doesn't actually use COMPAT_10. 1998-01-22 17:33:49 +00:00
thorpej 80fff795f9 Regen. 1998-01-09 06:19:02 +00:00
thorpej 0068dec705 Regen: back out RCD ID related changes. 1998-01-08 00:27:16 +00:00
perry 36bd5a5407 regened with RCSIDs in place 1998-01-05 18:23:00 +00:00
mjacob 0e9ef018df more putz cleanup: I dunno if this works (fixing syntax, not checking semantics) 1997-12-01 06:04:23 +00:00
christos 669a5c22a2 Regen 1997-11-16 22:51:15 +00:00
christos 6a9178e444 From Todd Vierling:
- Fix memcntl()
- Fixed stat and mknod syscalls to properly disassemble and reassemble
  dev_t values to/from emulation dev_t's
- Added pty (ptmx) subsystem at svr4net minor number 10 -- /dev/ptmx
- Implemented fork1() as fork() (should change if and when threads get
  added to the system)
- fixed spellings in disclaimer in svr4_net.c; it looks like someone went
  and did a s/nd/st/g on the whole file... yuck
- changed ptmx device to also halt on ENXIO (for pty files that exist with
  no kernel pty to back them)
- fixed SVR4 setpgrp() to be a near equivalent to BSD setsid() (old
  emulation didn't create a new session)
1997-11-16 22:50:55 +00:00
pk 1abecf9a70 Deal with svr4_ulimit() return values in the same way as in
compat_43_sys_setrlimit(). (takes care of PR#4418)

Also in svr4_ulimit(): return EINVAL for unknown commands, instead of ENOSYS.
1997-11-03 22:03:31 +00:00
pk 78ccc57a52 Fix test for NULL arg in svr4_utime() (PR#4418). 1997-11-03 21:33:07 +00:00
christos 8158edb63d Regen 1997-10-28 19:02:52 +00:00
christos b08c2743e7 Put a noop stub for sys_auditsys 1997-10-28 18:58:17 +00:00
christos 09d37c93a5 Implement F_REVOKE, F_FREESP and all the 64 bit calls. 1997-10-28 18:55:56 +00:00
kleink 043c84ea94 Addendum to last commit: don't clobber the read/write byte count when
seeking back to the original offset.
1997-10-28 12:06:56 +00:00
kleink 4174920943 Per X/Open CAE Specification, Issue 5, change the semantics of pread(),
pread64(), pwrite(), pwrite64():
* The `offset' argument specifies an absolute offset within the file.
* After performing the read resp. write operation, restore the original
  offset within the file.
Also, change the argument structure used by svr4_sys_prwite64() to
svr4_sys_pwrite64_args, instead of the 32-bit offset version.
1997-10-27 11:45:57 +00:00
fvdl b2d2f560e8 Fix another eofflag interpretation mistake that I missed when fixing
them.
1997-10-26 11:13:46 +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 eb2b299151 Regen. 1997-10-19 18:45:46 +00:00
christos 423b2ff7b4 Make mman(2) functions args consistent (caddr_t -> void *) 1997-10-19 18:45:04 +00:00
mycroft 429b08a2b4 Use S_IS*(), not S_IF*. 1997-10-19 18:40:11 +00:00
fvdl 33074aa25a Eliminate compile warning because of mmap caddr_t -> void * change. 1997-10-19 00:16:08 +00:00
christos dac5408a54 Regen. 1997-10-17 02:04:28 +00:00
christos f8dee5bcb9 PR/4278: Chris Jones: Fix rlimit function prototypes 1997-10-17 02:03:17 +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
fvdl d85f38cbec Fix braino in my interpretation of the eof flag to VOP_READDIR. 1997-10-10 22:16:04 +00:00
fvdl d6e5e295fa 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:42:21 +00:00
mycroft a6aa4731bc Fix errors left over from system call conversion. 1997-09-09 21:14:00 +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
christos 3c27e58f31 Regen. 1997-07-21 23:03:30 +00:00
christos ee8b56d3e6 Add:
64 bit filesystem system calls
	socket system calls
	ntp system calls
1997-07-21 23:02:34 +00:00
pk e3680b0e26 config.new => config 1997-07-20 20:33:08 +00:00
kleink ff831a8fcd regen. 1997-06-27 05:36:07 +00:00
kleink 96588fead9 Use sys_posix_rename() instead of sys_rename() as it's the behaviour of the
native implementation.
1997-06-27 05:29:34 +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
christos 8e5e5d1667 Fix reverse test in O_NOCTTY; pointed out by Klaus Klein 1997-04-02 15:29:18 +00:00
christos 6c41fdc592 Handle NULL shmid_ds properly in shmctl. 1997-03-30 17:21:02 +00:00
christos 4fe8f4e95f PR/3354: From Michael Eriksson; I_SETSIG did not handle O_ASYNC properly
and we would never get asynchronous events back. This affected the java
SDK. Also GC O_RAIOSIG which was a Dell/SVR4'ism which is now RIP.
1997-03-18 18:57:19 +00:00
christos f4fdc411c5 Regen 1997-03-15 00:06:47 +00:00
christos 015524c601 Add nice(2). 1997-03-15 00:01:18 +00:00
christos 5426bff5dd Fix incorrect comment about fdinsert 1997-03-15 00:00:09 +00:00
thorpej 8f8abcd69c Regen; makesyscalls.sh emits comments now. 1997-01-13 18:49:02 +00:00
fvdl bb31faf853 Make this compile again, including Politically Correct const handling. 1996-12-22 23:00:02 +00:00
christos 4fd46ff6cb regen 1996-12-06 03:26:33 +00:00
christos 88bb1b35b5 add syscalls acl, facl, memcntl, pause 1996-12-06 03:25:07 +00:00
christos e0c2870d89 implement I_SETSIG 1996-12-06 03:24:32 +00:00
christos 76a77f1302 header for acl, facl 1996-12-06 03:23:30 +00:00
christos ac0cfc70ae implement acl, facl, memcntl 1996-12-06 03:22:34 +00:00
christos e8aaebee8e implement pause 1996-12-06 03:21:53 +00:00
fvdl 0c32bba802 Make this compile with -Wcast-qual. 1996-10-28 08:46:35 +00:00
christos dcf74c0b02 Catch up with Jason changes.
Backout kprintf stuff
1996-10-13 00:08:26 +00:00
christos 5476886e52 printf -> kprintf, sprintf -> ksprintf 1996-10-10 17:47:29 +00:00
cgd 912e6fef44 include <sys/exec.h> rather than <machine/exec.h> 1996-10-07 21:47:33 +00:00
christos 3e00b323f3 Fix PR/2801: Zero length svr4_mmap() should return EINVAL. 1996-10-07 16:16:14 +00:00
cgd 65148dea43 kill (re)definitions of EXEC_ELF32. They're no longer necessary
(because of the EXEC_* option changes), and now cause warnings.
1996-10-03 05:02:05 +00:00
cgd 7c3255776d slightly clean up some of the changes made when ELF64 support went in 1996-09-27 18:14:23 +00:00
cgd 9c3e274c7b adapt ELF-using compat code to use new ELF definitions/code. At this point,
these are restricted to 32-bit ELF, and should be severely cleaned.
1996-09-26 20:52:42 +00:00
christos 42d3980338 Fix PR/2779: statvfs returns incorrect sizes. From Aaron Brown 1996-09-25 04:37:13 +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