Commit Graph

340 Commits

Author SHA1 Message Date
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
christos eb13d0121e - fixed wrong argument order in xmknod
- added proper support for {f,}pathconf
1996-02-10 17:12:31 +00:00
christos b50214e2fa use %p in printf's instead of casts to (unsigned int) 1996-02-10 00:48:08 +00:00
christos 1b17f25866 fix prototype warnings 1996-02-09 23:12:14 +00:00
christos 065bada41f so_pcb -> so_internal 1996-02-04 02:01:07 +00:00
mycroft f19761346e Do the previous change a little differently. 1996-02-02 08:09:45 +00:00
christos 1c35870a46 syscalls.master was changed 1996-02-02 01:18:09 +00:00
christos 9840c3ca68 Add xmknod() 1996-02-02 01:17:24 +00:00
jtc e19bfae4f9 Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:18:04 +00:00
mycroft 99686e0059 Add a vnode** argument to getvnode(), prototype it, and make it return
EBADF if the file descriptor has been revoked.
1996-01-30 20:05:33 +00:00
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +00:00
christos ac82785d44 fix compile error from fvdl; thanks. 1995-12-19 18:27:02 +00:00
christos 34af3b306f syscalls.master was changed 1995-12-19 07:14:25 +00:00
christos 20a2ff3d16 Added utime and utimes 1995-12-19 07:12:53 +00:00
mycroft 686dddaff9 Reran makesyscalls.sh. 1995-10-15 06:13:56 +00:00
christos 81ae32e332 syscalls.master was changed. 1995-10-14 20:26:39 +00:00
christos a4e2f7532a - Added msgsys, shmsys and semsys... MITSHM needs shmsys, so X applications
that used that would fail.
- Propagated all the fixes from the fully prototyped kernel.
1995-10-14 20:24:14 +00:00
thorpej d0c7d0fdd6 Add missing F_SETLKW case to svr4_sys_fcntl(), from Niklas Hallqvist
<niklas@appli.se>.
1995-10-09 23:56:17 +00:00
mycroft 652c9eff74 Use cookies for directory offset, mostly from Greg Hudson. 1995-10-09 11:23:57 +00:00
mycroft 6263c69339 Reran makesyscalls.sh. 1995-10-07 06:51:37 +00:00
mycroft 55c46e9514 Reran makesyscalls.sh. 1995-10-07 06:41:34 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
pk 23b15422dc svr4_fcntl: make uap point to argument. 1995-10-02 08:20:47 +00:00
thorpej eecd40e854 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:10:11 +00:00
thorpej c8aae0e18a makesyscalls.sh changed. 1995-09-19 22:05:58 +00:00
cgd ce48e523d6 kill some redundant (and harmful) static definitions of functions 1995-08-19 04:04:50 +00:00
mycroft c331c7be82 Rename ss_flags bits. 1995-08-15 16:52:30 +00:00
mycroft 10c06fe363 Prototype some functions. 1995-08-14 02:22:20 +00:00
mycroft 1e69f23205 Export bsd_to_svr4_sig[], and use it. 1995-08-14 02:07:57 +00:00
mycroft 283f211782 Sort. 1995-08-14 01:34:09 +00:00
mycroft 01fa87477a syscalls.master changed. 1995-08-14 01:29:05 +00:00
mycroft 88b8e43a80 Rearrange #includes. 1995-08-14 01:27:43 +00:00
mycroft 9440382c88 svr4_stack_t --> svr4_sigaltstack 1995-08-14 01:13:29 +00:00
mycroft 05abc039c9 syscalls.master changed. 1995-08-14 01:13:11 +00:00
mycroft eba2f2e81a Move signal types into signal.h. 1995-08-14 01:11:52 +00:00
mycroft 3b76c0ddef svr4_stack_t --> svr4_sigaltstack 1995-08-14 00:57:13 +00:00
mycroft 475edc261c Move definition of sigset_t into types.h. 1995-08-14 00:50:27 +00:00
mycroft ca057762b9 Minor cleanup. 1995-08-14 00:41:02 +00:00
mycroft 1575859e07 Minor cleanup. 1995-08-13 23:37:56 +00:00
mycroft a6b7c740c6 Convert SA_RESETHAND and SA_NODEFER.
Scrub this code a bit.
1995-08-13 22:57:10 +00:00
christos 3a1e063118 Make the macro botch fix more palatable. 1995-07-05 17:08:54 +00:00
pk 426fb108d1 Brutally work around a macro botch. 1995-07-05 13:07:12 +00:00
christos 87b62763ae Add a few more sockio ioctls... Now sunxdoom is running! 1995-07-04 23:00:11 +00:00
christos c07ddb7c1d Added sockioctls... Only getifnum supported for now.
Added SVR4_EMT_TAGOVF, needed by new machdep translations.
1995-07-04 19:46:58 +00:00
christos ed63c665eb - make svr4_break() identical to obreak(). We still keep the code here,
to do some more testing.
- add POSIX.4 sysconfig options [we don't support them, but we don't
  return EINVAL too]
- More kludges in the interpeter load address. I hope I escape the kludge
  police...
1995-07-02 06:16:06 +00:00
christos 294f607d50 Fix alignment of svr4_getdents, so that it works for solaris2.4/sparc 1995-07-01 23:42:54 +00:00
christos 68328ddcdd Fixes for Solaris-2.4/sparc dynamically linked binaries.
We can now run them, but:

1. setcontext() causes a panic so binaries that receive signals
   crash the machine [something is wrong with the register setup].
   sleep 10 ==
    Watchdog reset
    Data Access Exception
    Type  help  for more information
    ok

2. csh says "unknown software trap a7".
3. ls gives us a bus error.
4. ldd works :-)

But I solved the problem that had been bothering me for weeks :-)
1995-06-27 22:12:47 +00:00
christos d0169ce44a Use compat_util.[ch] 1995-06-24 20:29:17 +00:00
fvdl cbcf8eee8a Check for invalid filedescriptors in getmsg() and putmsg(). 1995-06-24 18:47:08 +00:00
fvdl 4a10f838e7 Changed to use generic ELF code from kern/exec_elf.c (which was taken
from the svr4 exec code plus the linux compat mods)
1995-06-22 21:32:57 +00:00
fvdl a22d72bf4d * Always kill all vm_cmds before giving up on loading an executable
* Don't try to use auxiliary arguments with statically linked executables.
* Remove 'cannot find interpreter' uprintf, as other exec modules may
  succeed in running the binary after all, and then we don't want this message.
* Some linkers produce rw- for the data segment, not rwx.
* Remove a few debugging printfs
1995-06-11 15:06:11 +00:00
mycroft abd4cc9991 Remove /dev/zero special case. It's done in mmap(). 1995-06-10 22:45:15 +00:00
mycroft b1868d1bdf Set st_rdev in SVR4 struct stat. 1995-06-10 22:44:18 +00:00
jtc 95ded74f58 Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1
requires that sgid executables and the setuid() syscall *not* change
the supplemental group list.
1995-06-01 22:43:30 +00:00
mycroft bfd22ffde8 Generate the new ps_strings format. 1995-05-16 14:19:03 +00:00
mycroft 7688f4456e Remove usages of ibcs_sigflags. 1995-05-01 04:50:28 +00:00
christos 44eef7c28b - added struct emul to all emulations.
- removed all setup functions.
- added copyargs() functions where needed.
1995-04-22 19:48:19 +00:00
cgd 27228062f9 config.new file lists 1995-04-17 16:12:14 +00:00
mycroft 72adfee7f7 EMUL_IBCS2_ELF -> EMUL_SVR4; EMUL_IBCS2_{COFF,XOUT} -> EMUL_IBCS2 1995-04-13 20:48:14 +00:00
christos c8afb5deaf Syscalls.master was changed 1995-03-31 03:08:25 +00:00
christos ee05f066e8 1. siginfo stuff torn out from wait.h to be used by the MI portion of the code.
2. many termio, ioctl, sigaction fixes
3. better socket type emulation; still ticotsord [the loopback interface I
   guess] does not work properly on svr4 4.1.
4. new gettimeofday, fixed utssys..
5. rmdir and mkdir were swapped in syscalls.master
1995-03-31 03:06:17 +00:00
mycroft f75ba16b09 Update to use timer{add,sub}(). 1995-03-21 13:33:34 +00:00
christos 316fa4de0e Syscalls.master was changed. 1995-02-01 01:41:37 +00:00
christos dbcb84b7e1 Added sigaltstack, ioctl(I_NREAD)
Replaced syssun with svr4_sysarch()
1995-02-01 01:37:33 +00:00
christos a8c747992c syscalls.master was changed 1995-01-25 04:17:45 +00:00
christos 5a54340166 Make siginfo structure a union for clarity. Fix incorrect settings of
the siginfo_t in the waitid() system call.
1995-01-25 04:17:06 +00:00
christos 279d6f3237 wait(2): Put the status in retval[1] as solaris expects it there
avoid infinite loop when looking for / [since it used to return /emul/svr4],
by returning the real root.
1995-01-22 23:44:48 +00:00
christos 22572ffee9 More debugging for waitsys()
Fixed uname which was broken since 1.0.
Added timod/getinfo stream ioctl.
Fixed TIOC{G,S}PGRP
Fixed typo in the flags translation
1995-01-10 00:04:03 +00:00
christos 9033addb0c Job control fixes... Still not working, but better 1995-01-09 01:04:18 +00:00
christos e15e38be03 syscalls.master was changed 1995-01-08 21:32:40 +00:00
christos ff6fb90722 Fixed waitsys().
Fixed time functions.
Added alarm(), contextsys(), sigaction(), kill(), statvfs(), fstatvfs()
1995-01-08 21:31:34 +00:00
mycroft c06da32c6e Make sure to ream out the file descriptor table slot when aborting. 1994-12-14 20:20:26 +00:00
mycroft 797dcd3e8f Use the same method as portal fs for creating a file descriptor. 1994-12-14 20:08:30 +00:00
mycroft 6332be8c7f Use __timeradd(), not timervaladd(). 1994-12-11 17:56:21 +00:00
christos 153d76736d syscalls.master was changed; added a couple of new header files. 1994-11-18 02:56:09 +00:00
christos 2859b1c634 Rework streams emulation so that it does not rely on non portable hacks.
We keep streams state in so->so_ptcb; this field is unused in all the kernel.
Fix poll(2) timeout computation; add hrtsys and waitsys syscalls.
1994-11-18 02:53:37 +00:00
christos 0d5c2ddb90 new files 1994-11-14 06:13:11 +00:00
christos 25ef6e1436 More functionality and bug fixes 1994-11-14 06:10:37 +00:00
christos f46f498d53 Changed code to KNF, removed global variable per cgd's request. 1994-10-29 00:43:14 +00:00
mycroft ed0f09279e Reran makesyscalls.sh, to update SYS_* constants and fix truncated line. 1994-10-28 20:46:17 +00:00
mycroft 4e9c2720e2 Clean up deleted files. 1994-10-26 11:58:32 +00:00
christos afffe1aaf8 Fixed Charles suggestions:
1. always do the stackgap_init()/CHECKALT first in syscalls that need it.
2. svr4_emul_find() uses malloc for the buf, does not use copyoutstr, but
   copyout().

Removed makesyscalls.sh; it was really old and we don't need a separate copy.
1994-10-26 11:58:24 +00:00
cgd 69d2deb545 new RCS ID format. 1994-10-26 05:27:43 +00:00
deraadt dca2741d28 make SYS_* macros unique 1994-10-24 23:26:02 +00:00
deraadt b415eb1d1d new from christos 1994-10-24 17:37:34 +00:00
cgd 74d7436a91 pay a small amount of lip service to the new syscall args mechanism.
In reality, none of these will compile.
1994-10-20 04:47:31 +00:00
mycroft 9db57a0aa0 Fix typo. 1994-08-17 11:03:07 +00:00
mycroft da534b691a Reran makesyscalls.sh. 1994-08-15 23:49:28 +00:00
mycroft e8b01ef8dc Add missing line. 1994-08-15 23:48:41 +00:00
mycroft 2b2c64b4e2 Need prototype of exec_svr4_elf_makecmds(). 1994-08-15 22:54:51 +00:00
mycroft a82f727857 Clean up deleted files. 1994-08-15 22:47:27 +00:00
mycroft ea999cdda2 Rename this for consistency. 1994-08-15 22:47:24 +00:00
mycroft e2122143e9 Don't reread the blasted header. 1994-08-15 22:47:00 +00:00
mycroft b0d890f90a EMUL_IBCS2 --> EMUL_IBCS2_ELF 1994-08-15 22:03:12 +00:00
cgd 19f726e77f fix a botch, and gen syscall files 1994-06-30 17:00:13 +00:00
cgd bc9970144d fix up for new ID format, and consistency 1994-06-30 16:42:47 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
deraadt 932345acae post 4.4-lite update 1994-06-24 07:30:17 +00:00
deraadt 95c2509dcd maxfdescs -> maxfiles 1994-05-24 03:27:13 +00:00
cgd 8ecf3dc2cc this file came from sun_misc.c 1994-05-22 10:46:33 +00:00
deraadt a0ca154be4 prelim svr4 stuff from <christos@deshaw.com> 1994-05-22 10:04:26 +00:00