Commit Graph

375 Commits

Author SHA1 Message Date
christos e6f6898376 Include the right headers to find svr4_sendsig. 1999-01-21 23:16:43 +00:00
kleink 5eb233ddd5 Return the machine's ISA for SI_ARCHITECTURE. 1999-01-20 22:09:17 +00:00
kleink 4ff7b1f346 Add symbolic names for the sys_context() subcodes. 1999-01-12 02:09:18 +00:00
kleink bb6c814341 If a null pointer argument is passed to setcontext(), exit the process; it
would appear that overloading the argument this way is used by SVR4 to `fall
off' the main context (uc_link being NULL) after a function set up using
makecontext() returns.
1999-01-12 00:16:40 +00:00
drochner ba4af3c3de regen 1998-12-18 18:59:06 +00:00
drochner b71f154130 remove compat_xxx dependencies where they don't belong 1998-12-18 18:49:59 +00:00
drochner 52c16cf83a get "opt_compat_svr4.h" out of <sys/conf.h> 1998-12-18 16:55:39 +00:00
christos 1dd3565a09 Fix a long standing bug in wait(2) where the signal was left untranslated,
and defensively code the signal translation.
1998-12-16 10:36:50 +00:00
christos 49be13158d Make gerlimit(RLIM_NOFILE, rlp), return rlp->rlim_max == maxfiles, not
RLIM_INFINITY like we do. Java uses rlim_max to allocate a data structure
per file descriptor.
what we do is bogus anyway, because:

    setrlimit(RLIM_NOFILE, {RLIM_INFINITY, RLIM_INFINITY}}

sets the limit to { maxfiles, maxfiles }

I undestand that this is so that if we change maxfiles via sysctl, processes
can still use the new maximum, but it is probably more appropriate to return
the current value of maxfiles (and maxproc) at every getrlimit call, even
if the current value for either is RLIM_INFINITY.

Anyway, java now works on the the sparc, on the i386 loses on setcontext().
1998-12-13 18:00:52 +00:00
christos f0c7751046 Regen 1998-12-10 17:13:06 +00:00
christos 879032f748 fix systeminfo. We return ipc86 for the i386, SUNW,SPARCstation-10 for
sparc, and unknown for the rest. Also make sure that the string is terminated
properly and the length is returned as the specification calls. Maybe sometime
we can read the prom on the sparc and return the actual model.
1998-12-10 17:06:13 +00:00
christos b0b86b5b7f Defopt COMPAT_43 1998-12-10 17:03:19 +00:00
christos 02e50c5ac1 Clarify some signed/unsigned confusion with resource limit setting.
Still don't understand you some old binaries try to use 5 for vmem
instead of 6.
1998-11-30 15:46:33 +00:00
christos dd597a541c regen 1998-11-28 21:53:33 +00:00
christos 298d9e0d50 Deal with {get,set}rlimit{,64} properly, respecting the RLIM_INFINITY,
RLIM_SAVED_MAX, and RLIM_SAVED_CUR values. We should fix our own implementation
to do this and use unsigned numbers for rlim_t as solaris does.
1998-11-28 21:53:02 +00:00
christos d7846c84e1 Conflict resolution. 1998-11-27 18:33:21 +00:00
christos f8c52e6cf3 use a symbolic constant instead of just 0 1998-11-27 18:32:09 +00:00
christos 786b3a2c22 regen 1998-11-27 15:22:44 +00:00
christos 87308428af take a stab at implementing resolvepath(2) 1998-11-27 15:08:50 +00:00
christos 48a6904248 fix renamed constant 1998-11-26 18:58:50 +00:00
christos 6167bac14c No functional changes. Added Mark Newton's suggested fixes, but since I have
not tested them they are #ifdef'ed notyet.
1998-11-25 15:48:35 +00:00
christos fc1519f1c9 Add a few more constants. 1998-11-25 15:47:51 +00:00
mrg 70961a3e4c mark native_to_svr4_errno as extern (avoids compiler warning). 1998-10-24 19:35:36 +00:00
mjacob 150020cdf2 add missing include that defined native_to_svr4_errno 1998-10-23 19:36:03 +00:00
erh 813dd6128b Rename svr4_error to native_to_svr4_errno. 1998-10-23 04:06:00 +00:00
erh 177a7fac85 Moved to svr4_errno.c,v 1998-10-23 04:02:18 +00:00
erh 436999b6cd Moved from svr4_error.c,v 1998-10-23 04:02:17 +00:00
tron f8bd8df018 Regen. 1998-10-19 22:43:25 +00:00
tron 597d72777a Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:43:00 +00:00
thorpej 53b61ccd14 Avoid a compiler warning. 1998-10-06 08:51:14 +00:00
christos 18632b9779 Regen. 1998-10-04 16:22:47 +00:00
christos 9fabaa0ca6 Add a few more unimplemented syscall name placeholders. 1998-10-04 16:21:58 +00:00
christos 227ea85cf0 Don't return EINVAL when nset is NULL in sigprocmask and the command is
invalid.
1998-10-04 16:21:13 +00:00
christos c413c43664 add hasremotelocks, but no support yet. 1998-10-04 16:20:16 +00:00
christos 0c025c7e61 fix fdup2 implementation; it passes the file descriptor itself, not a pointer
to it in arg.
1998-10-04 16:19:50 +00:00
christos 6524452816 Fix confusion about about service types (from FreeBSD). Now dns resolution
works.
1998-10-03 22:03:07 +00:00
christos 913cee1069 Merge in lite2 changes, and fix a typo that caused pool memory corruption. 1998-10-03 21:29:07 +00:00
christos accc6fd407 Fix bug in TIOCLGET 1998-10-03 21:22:57 +00:00
eeh fc6c67ff5d Fixup big-endian syscall args. 1998-10-03 19:33:32 +00:00
christos af5667d954 We have SA_NOCLDWAIT now, and for SA_SIGINFO, we ignore the bit, but we
always construct siginfo_t and pass it to the handler. So kill the printfs..
1998-10-02 11:54:16 +00:00
christos 4a904760a4 the pool boy forgot to convert this to use pool stuff. Goodbye long uptime! 1998-10-01 19:26:30 +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
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
mycroft f51fa207ba Regen. 1996-09-07 13:01:41 +00:00
mycroft 4a60463da8 This is no longer needed. 1996-09-07 13:01:29 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft a8fd25767d Define execv() and execve() consistently across emulations.
Do path name translation.
1996-09-03 03:12:17 +00:00
christos f8dddb3afe add: I_FDINSERT, _I_BIND_RSVD, _I_RELE_RSVD, SI_SHUTDOWN
this fixes programs that use listen(2) and accept(2), and
makes unix domain sockets work both in tcp and udp.
1996-08-30 23:06:24 +00:00
christos 8979b8342a Fix PR/2599; include <sys/dirent.h> instead of <sys/dir.h> 1996-07-05 16:31:00 +00:00