Commit Graph

362 Commits

Author SHA1 Message Date
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
fvdl 059661a991 Fix totally bogus implementation of a few fcntl() calls. I think I'll go
live on a deserted island now..
1995-07-03 21:33:59 +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
cgd 26340c4a2e sync with my current sources. WAY out of date. 1995-06-28 04:41:30 +00:00
cgd 65c4cf2b9a light cleanup, adjustments for the Alpha 1995-06-28 03:00:20 +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 c35bc29cc9 Fix PR1160... (bug with the new compat_util prefix) 1995-06-26 19:27:17 +00:00
christos 2a17942096 Add the ability to override COMPATREL and COMPATDST similar to libkern 1995-06-26 03:27:13 +00:00
briggs a734709115 Oops... NOARGS for compat_43_sigvec. 1995-06-25 14:58:17 +00:00
briggs e1731cd1bf syscalls.master changed. 1995-06-25 14:18:56 +00:00
briggs de17480671 sigvec -> compat_43_sigvec. 1995-06-25 14:18:35 +00:00
briggs 09e0072b98 Add sunos_emul_path (/emul/sunos). I don't know if this is correct, but
this will at least aid the compilation step and is similar to the
others.
1995-06-25 14:15:08 +00:00
briggs c9917aa539 * Don't include sys/exec.h explicitly--it's not protected against multiple
inclusions and compat_util.h now includes it.
* Declare struct emul *e=p->p_emul in a couple of places so we can use
  STACKGAPBASE macro (should this macro be modified to take a struct
  emul * or struct proc * parameter?).
* Declare extern struct emul emul_sunos for sunos_sigvec's comparison.
1995-06-25 13:11:44 +00:00
christos fc741845e6 Stackgap_init() now takes an p->p_emul argument. 1995-06-24 20:36:28 +00:00
christos d0169ce44a Use compat_util.[ch] 1995-06-24 20:29:17 +00:00
christos 5ad8a15866 Syscalls.master was changed 1995-06-24 20:26:41 +00:00
christos 57b6b2745e Use compat_util.[ch] 1995-06-24 20:22:33 +00:00
christos 6b95b513b0 Use compat_util.[ch]. 1995-06-24 20:20:04 +00:00
christos 3a3aa6407e Use compat_util.[ch] 1995-06-24 20:18:53 +00:00
christos 8207f8e49e Use the new compat_util.h 1995-06-24 20:17:54 +00:00
christos dcb2a50b2b - Extracted all compat routines from the kern directory and moved here.
- Created compat_util.c and compat_util.h to be used by the compatibility
  modules, so they don't duplicate the same code.
- Added prototypes to the stackgap allocation routines.
1995-06-24 20:15:55 +00:00
fvdl cbcf8eee8a Check for invalid filedescriptors in getmsg() and putmsg(). 1995-06-24 18:47:08 +00:00
fvdl 1634acc3e4 Include file change. 1995-06-22 21:35:42 +00:00
fvdl c4aaa6000c * Changed to use generic ELF code from kern/exec_elf.c (which was taken
from the svr4 exec code plus the linux compat mods)
* Include file change
* Add multicast sockopts (from John Brezak)
1995-06-22 21:34:27 +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
cgd 8f62c773e8 don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN 1995-06-18 14:45:14 +00:00
pk 1e070197f4 Go with the flow; use `/emul/sunos' pseudo-root (from Matthew Green).
Note: sunos_stat() and sunos_lstat() were added too.
1995-06-11 22:33:50 +00:00
fvdl 769310e81d Linux select() returns the amount of time left before a timeout would have
occured in the timeval structure. Emulate this behavior. Reported by
Theo de Raadt.
1995-06-11 21:51:38 +00:00
fvdl fb777788b1 Don't forget to acknowledge that all the ELF stuff was taken from
Christos' svr4 code.
1995-06-11 15:15:09 +00:00
fvdl 8bf395c808 Make this link when SYSVXXXX is not enabled too. 1995-06-11 15:07:55 +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
fvdl bfc9b29ab2 Remade these after syscalls.master had changed. 1995-06-11 14:57:56 +00:00
fvdl fc7cfb5f0b * Make Linux ELF binaries work. Lots of code duplication, but it will have to do
for now.
* Add a sanity check in linux_uselib
1995-06-11 14:56:47 +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
mycroft 1e1e52e395 Rename the dirent fields to match Linux. Make sure the requested buffer
is no larger than MAXBSIZE.
1995-06-10 22:19:06 +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
mellon b23214bbd9 Clear up name conflict between Ultrix syscall 103 and 139. 1995-06-01 16:38:15 +00:00
mellon ccd1ab13a1 syscall 139 is ULTRIX_SYS_sigcleanup (from Simon Burge) 1995-05-29 17:32:35 +00:00
mycroft cc8da4254d Need netinet/tcp.h. 1995-05-28 10:20:46 +00:00
mycroft 32659780f6 Convert TCP socket options. 1995-05-28 10:16:32 +00:00
mycroft 00569bf574 Fill in `name' argument to getsockopt() correctly. 1995-05-28 09:39:45 +00:00
mycroft 116c7de730 Fix typo. 1995-05-28 08:52:07 +00:00
mycroft e89504670f Convert IP socket options. 1995-05-28 08:50:17 +00:00
mycroft fbc3ef234b Get rid of damned `static's. 1995-05-28 08:09:51 +00:00
mycroft bfd22ffde8 Generate the new ps_strings format. 1995-05-16 14:19:03 +00:00
christos dbb1f513f8 syscalls.master was changed.
Note that COMPAT_OHPUX has been renamed to COMPAT_HPUX_6X and this is a
kernel option now, that should be specified together with COMPAT_HPUX.
1995-05-10 16:47:21 +00:00
christos dd9ece9090 Made this compile on the i386 (gasp)... Someone will need to test it. 1995-05-10 16:45:25 +00:00
mycroft dbaa7014ef Turn off a debugging printf(). 1995-05-07 03:27:37 +00:00
mycroft 4e9f66f9ca Improve Linux signal emulation, and emulate the modify_ldt() call. 1995-05-07 02:59:30 +00:00
mycroft e97a07b5a4 Add stub for linux_modify_ldt(). 1995-05-06 18:17:15 +00:00
mycroft 2b0696ff3c Add linux_modify_ldt(), if __i386__. 1995-05-06 18:16:35 +00:00
pk 4c8828e743 init `mode' field in sunaudiogetinfo(). 1995-05-04 19:46:31 +00:00
mycroft 73fead01fc Fix typos. 1995-05-01 19:45:42 +00:00
mycroft 1ff4bb49de Adjust for new defn of md_regs. 1995-05-01 19:33:17 +00:00
mycroft bc5a1863db Declare sigcode and esigcode. 1995-05-01 19:01:45 +00:00
mycroft 8792c8e284 Save and restore %fs and %gs across signals. 1995-05-01 14:15:07 +00:00
mycroft 17dd9534bf Update to match include files. Eliminate _ucodesel, _udatasel, and IdlePTD. 1995-05-01 08:06:22 +00:00
mycroft 7688f4456e Remove usages of ibcs_sigflags. 1995-05-01 04:50:28 +00:00
christos b9771ef7b1 Try to make the reboot system call compile under sun3 with RB_STRING
support [not tested]
Add files.sunos
Rename system call switch table file from sunos_init_sysent.c to sunos_sysent.c
like other emulations.
1995-04-27 12:05:37 +00:00
gwr f4d7b9097d Make sunos_reboot(RB_STRING,"...") work for sun3.
Could be made to work for sparc too.
1995-04-26 23:12:02 +00:00
mellon 43da4827ae sigcode and esigcode aren't defined for ultrix emulation 1995-04-25 21:51:15 +00:00
briggs c937b8a519 Fix compiler error in sunos_reboot(). 1995-04-23 01:00:46 +00:00
christos 79e736e176 syscalls.master was changed 1995-04-22 23:48:37 +00:00
christos ebdad87ea2 Added sunos_reboot(). 1995-04-22 23:45:29 +00:00
christos de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +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
mycroft 8c65e4734d Update setup functions for changes in exec.h. 1995-04-18 02:18:08 +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
fvdl fb00b736fd Arch dependant defs for Linux. Just signal stackframe definition for now. 1995-04-07 22:31:19 +00:00
fvdl 46de9a804f Changes because of proper Linux signal stackframe building, and
seperate signal trampoline code. Ugly hack in trap.c no longer
needed.
1995-04-07 22:29:34 +00:00
fvdl c37a9a26c6 syscalls.master was changed, so update these 1995-04-07 22:24:11 +00:00
fvdl 623f1e3986 Handle Linux signal tramp code differently. Some changes because of the
now seperate Linux signal trampoline code. Add linux_sigreturn to
syscalls.master.
1995-04-07 22:23:22 +00:00
mycroft cd50457f15 Fix conversion of `type' and `whence' values in struct flock. 1995-04-04 04:21:30 +00:00
pk 1dd6d8a8dd Fix TCGETA compat, from Matthew Green.
SunOS `setaudioinfo' does implicit `getaudioinfo'.
Recognise streams flush/setsig ioctls.
1995-04-02 10:43:29 +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
cgd fa2133533d invoke ktrsyscall with (vp, code, argsize, args) as args. 1995-03-26 08:03:29 +00:00
mycroft 6865b2589a Emulate the return value of times() better. 1995-03-22 05:24:47 +00:00
scottb 87005937ec add code to zero fill directory name buffer 1995-03-22 01:28:53 +00:00
mycroft f75ba16b09 Update to use timer{add,sub}(). 1995-03-21 13:33:34 +00:00
mycroft 8f96feada8 Correct call to coff_load_shlib(), and prototype it. 1995-03-15 08:14:28 +00:00
scottb 6e5f98b553 updated existing files to use new system call interface.
added new code to support socket interface.
borrowed code from linux/svr4 to use /emul pathnames.
split ibcs2_misc.c into more managable files.
1995-03-14 15:12:17 +00:00
fvdl e0518ae749 Update automatically generated syscall files. 1995-03-10 23:10:35 +00:00
fvdl faf1442285 Add the Linux pause() system call. Fix the arguments to sigsuspend(). 1995-03-10 22:55:04 +00:00
mycroft 2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
fvdl 9e7e8cd294 Add missing structure conversion for IPC_RMID. 1995-03-08 17:27:42 +00:00
fvdl ad4540a424 Fix typo in comment. 1995-03-08 15:17:49 +00:00
cgd 25b31ec7bc mount list is a circleq. 1995-03-08 01:28:55 +00:00
fvdl 182c23c8bc Added a few more system calls.
More consistent alternate root file semantics throughout.
1995-03-05 23:23:37 +00:00
pk a1cfb5b325 Move SunOS audio_info compat stuff here (from sparc/dev/bsd_audio.c). 1995-03-04 09:50:00 +00:00
mycroft 4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
fvdl 3bf459f350 Added Linux compat code. 1995-02-28 23:24:35 +00:00
cgd 41f1c5fa0d generated files. 1995-02-13 21:40:43 +00:00
cgd e5a8a9b897 Initial support for DEC OSF/1 AXP binaries. May be applicable to other OSF/1
systems running a BSD-ish server.  No dynamically linked executable support
(it requires weird execve() hacks...), nor any Mach trap support.  But it
ran lots of statically linked binaries well enough for me to get bootstrapped.
1995-02-13 21:39:00 +00:00
mellon e7859a639f Fix up some incompatibilities and some indentation botches 1995-02-01 05:09:14 +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
mellon 4ecd541c1f Fix up non-ANSI code (which was a no-op anyway) 1995-01-18 06:56:34 +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 f2dba9ed8a timevaladd -> __timeradd (AGAIN) 1994-12-17 19:22:16 +00:00
deraadt 8aa219da0c correct ansi glitch 1994-12-16 19:01:43 +00:00
pk 27fd6ed84f mode/flags confusion in sunos_open(). 1994-12-15 09:41:36 +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
deraadt 5f9f1008db update 1994-12-06 00:17:44 +00:00
deraadt 9259e6b44d repair SYSV_* system calls 1994-12-06 00:17:06 +00:00
dean 6d4bd6bb91 fixed typo 1994-12-02 18:13:00 +00:00
dean 7d467781b8 new sysent version. 1994-12-02 18:12:34 +00:00
dean 5e8c18eb44 added sigreturn 1994-12-01 16:41:43 +00:00
dean d0a26487e7 New syscall stuff 1994-12-01 16:23:20 +00:00
pk 02e97ec079 Convert SunOS IP multicast socket options. 1994-11-30 09:40:23 +00:00
deraadt 69943c6c35 update 1994-11-26 00:00:11 +00:00
deraadt e24c51929f a few other things which work 1994-11-25 23:59:31 +00:00
dean aa7c33ed7d {get,set}rlimit functions (From Jonathan Stone) 1994-11-23 22:34:58 +00:00
dean d401f2494f changes for new sysent structure (from J. Stone) 1994-11-23 17:49:06 +00:00
deraadt 66aea4d8d2 m68k does not have PT_{SET,GET}FPREGS 1994-11-23 07:05:20 +00:00
deraadt 52bf7567d8 new syscalls 1994-11-20 21:31:32 +00:00
deraadt 5677e59c0a ptrace from chs+@CS.cmu.edu, poll from christos 1994-11-20 21:31:10 +00:00
deraadt 7eb1e52253 sunos ptrace & poll emulation 1994-11-20 21:30:03 +00:00
deraadt 2e57b94fb7 improve VMIN/VTIME emulation (from chs+@CS.cmu.edu) 1994-11-20 21:29:33 +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
deraadt b56463b6db syscalls.master changed 1994-11-14 07:34:26 +00:00
deraadt de1d09dd2a fix sunos_mmap 1994-11-14 07:33:48 +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
deraadt 930c2dade2 fix CS[5678] code 1994-10-31 05:18:10 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +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
cgd 0974859697 new RCS ID format. 1994-10-26 02:57:08 +00:00
cgd 6b7c260753 new RCS ID format. 1994-10-26 02:45:11 +00:00
deraadt 734a6bf4d5 update 1994-10-26 01:04:28 +00:00
deraadt 63d1852163 whoops 1994-10-26 01:03:43 +00:00
deraadt c4fba0ee57 and we update these 1994-10-25 23:05:28 +00:00
deraadt 1784f27584 and these 1994-10-25 23:04:53 +00:00