Commit Graph

350 Commits

Author SHA1 Message Date
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
christos
5d27db0882 Pass the elf exec header in the probe function. 1996-06-13 18:33:54 +00:00
christos
38c8b72648 Many bug fixes... These now work well enough for vi, ksh, csh, stty etc. 1996-06-05 19:27:41 +00:00
christos
13bce5bb2b - report process usage correctly. we used to get panics on SIGTSTP. 1996-06-05 19:26:13 +00:00
christos
53efdc8e32 - return EINVAL on the hardware specific 'X' ioctls, otherwise stty does not
work properly.
- use printf -> uprintf.
1996-06-05 19:24:22 +00:00
christos
7e8a7a54eb - Always check if the file descriptor we are using is a socket.
- Make sure we get an so_internal state allocated, even if we
  did not open the socket ourselves.
1996-06-05 19:10:34 +00:00
christos
dd1fe33d2e - Always check if the file descriptor we are using is a socket.
- Make sure we get an so_internal state allocated, even if we
  did not open the socket ourselves.
1996-06-05 19:07:37 +00:00
christos
6ba5bd8c10 Fix OGETUDATA for Solaris-2.3 (From Greg Hudson) 1996-05-13 16:57:50 +00:00
mrg
b961912b8a sort this. 1996-05-05 17:14:25 +00:00
christos
029f35aa10 Avoid overruns when copying the interface name. 1996-05-03 17:09:15 +00:00
christos
efc7b8aec4 - don't use if_index to get the number of interfaces in SIOCGIFNUM; compute
the actual number.
- forgot to copyout the result in SIOGCIFFLAGS.
1996-04-22 01:17:33 +00:00
christos
02f94c17fb Add SI_SYSTEMINFO from Solaris-2.5 1996-04-22 01:16:04 +00:00
christos
5fda4b10a2 - small ioctl naming changes.
- pass ioctl fd explicitly.
1996-04-11 12:54:40 +00:00
christos
3b309224fd - Pass ioctl file descriptor explicitly.
- some 'T' ioctl's are for streams, call the stream function in the default case
1996-04-11 12:53:48 +00:00
christos
4a0b33e910 Handle different address families, and in particular AF_UNIX. 1996-04-11 12:52:41 +00:00
christos
8edeaa1f71 Add accept message 1996-04-11 12:52:03 +00:00
christos
d37bbda397 - keep the address family in the global state, now that we are using it.
- add netaddr_un
1996-04-11 12:50:31 +00:00
christos
0a8a2051dc - Make unix domain sockets work.
- Implement GETSOCKNAME and GETMYNAME
- Implement getmsg(ACCEPT) [incomplete]
- Implement LISTEN [incomplete]

There are too many changes in the code, this is why the incomplete checkpoint.
1996-04-11 12:49:13 +00:00
christos
8294057bdb Svr4 does not have unix domain sockets; it emulates them with mode 0 named
pipes. Emulate that behavior, by telling svr4 we've found mode 0 named pipe
when we find a unix domain socket. Also record the name and device,inode
pair of sockets found.
1996-04-11 12:46:41 +00:00
christos
dcf6c8ee56 New files to provide a device,inode -> pathname mapping for unix domain
sockets. This is needed for putmsg(2)
1996-04-11 12:43:29 +00:00
christos
260951021b Use uprintf instead of printf for debugging. Lot's of printing causes panics
on the sparcs, and even if that was not the case, you end up losing text.
1996-04-11 12:41:25 +00:00
christos
c5cd2c8f26 Remove dependence on svr4_conf.h and the file itself. 1996-03-30 22:40:55 +00:00
christos
6c2fd36998 Fixed debug printf format args. 1996-03-30 22:37:52 +00:00
christos
ed8966b2ea svr4_sigfillset should be void 1996-03-16 23:20:30 +00:00
christos
79344ff371 - add svr4_conf.h
- add window size ioctls
1996-03-14 19:29:11 +00:00
christos
47158e6548 syscalls.master changed 1996-02-10 17:14:07 +00:00