Commit Graph

374 Commits

Author SHA1 Message Date
mycroft
a6bb142d21 Various clean up and bug fixes. Make this look like the SVR4 and Linux
versions.
1995-08-14 00:44:12 +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
mycroft
fef558efaa Convert SA_NOMASK and SA_ONESHOT.
Clean up this code a bit.
1995-08-13 22:55:28 +00:00
mycroft
ad35618e1e Linux doesn't allow select(2) to be restarted. 1995-08-13 17:51:40 +00:00
mycroft
6f7dc7fd4e Make this compile if one of SYSV{SEM,SHM,MSG} is not defined. 1995-08-10 04:08:57 +00:00
fvdl
64b54f62f4 syscalls.master changed 1995-07-24 06:39:38 +00:00
fvdl
83ed983d47 mkdir() has 2 arguments.. fixes PR 1248 (from Brad Spencer) 1995-07-24 06:35:28 +00:00
christos
3a1e063118 Make the macro botch fix more palatable. 1995-07-05 17:08:54 +00:00
pk
cde4f269ae Start using sunos_sigvec(). 1995-07-05 13:14:09 +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
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