Commit Graph

718 Commits

Author SHA1 Message Date
christos
79344ff371 - add svr4_conf.h
- add window size ioctls
1996-03-14 19:29:11 +00:00
mycroft
8dbac07c10 Add a message to help us debug Linux compat. 1996-03-08 06:00:53 +00:00
mycroft
6bc0baa1ce Separate ioctl emulation by group. Add (minimal) audio emulation. 1996-03-08 04:55:59 +00:00
pk
8c485c3690 syscalls.master changed. 1996-02-28 16:06:02 +00:00
pk
636580a34f Insert sunos_sys_fcntl(). 1996-02-28 16:03:54 +00:00
gwr
b1305e88db dir => dirent 1996-02-28 01:41:25 +00:00
mycroft
5cdb5e8ebe Map SIOCGIFFLAGS and SIOCGIFADDR (et al). 1996-02-27 08:18:16 +00:00
mycroft
48ec0383a3 Use OSIOCGIFCONF in previous. 1996-02-27 07:25:34 +00:00
mycroft
4b2741c436 Map SIOCGIFCONF. 1996-02-27 05:51:05 +00:00
pk
95d7594df0 If NFS rsize' is specified, set readdirsize' too. 1996-02-25 13:27:01 +00:00
cgd
c9a23604b9 fourth argument to kern_sysctl() must be a size_t *. simply passing a pointer
to SCARG(uap, len) won't do, because that'd be an int *.  copy the value
into a size_t, and pass pointer to that.
1996-02-21 00:10:59 +00:00
pk
9bfd34f41e Adapt to NFSv3. 1996-02-19 15:41:38 +00:00
pk
9e2cbae0ea Adapt compat NFS mount code to NFSv3. 1996-02-18 14:46:25 +00:00
jtk
e8aa4c9806 fix stray MOUNT_UFS -> MOUNT_FFS 1996-02-17 23:08:36 +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
647dfa216e Don't declare MSG_COMPAT in two places.
More prototype fixes
1996-02-10 00:12:44 +00:00
christos
1b17f25866 fix prototype warnings 1996-02-09 23:12:14 +00:00
christos
a18394e8c3 Extracted vm compat functions from vm and added them here where they belong. 1996-02-05 01:58:28 +00:00
christos
ec3976413e kern_sysctl was missing process argument. Elimited -Wall warnings from
the files that were affected
1996-02-04 02:02:14 +00:00
christos
065bada41f so_pcb -> so_internal 1996-02-04 02:01:07 +00:00
mycroft
f96fc7f12e Simplify, and add support for passing CPPFLAGS. 1996-02-02 20:34:38 +00:00
christos
32a57f01bc Renamed compat_tty.c to tty_43.c and updated with the newest copy from
kern/tty_compat.c
1996-02-02 18:47:50 +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
mycroft
88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28: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
jonathan
aadc0baf87 Add '/emul/ultrix' pathname processing to Ultrix emulation, and move
Ultrix syscalls that require that processing out of ultrix_misc.c
to ultrix_pathname.c.
1996-01-07 13:38:49 +00:00
mycroft
6761817ae6 Correct name of sysi86 function. 1996-01-07 06:09:43 +00:00
thorpej
d9bce7422e Move the obviously machine-dependent HP-UX compat code to hpux_machdep.{c,h}.
A fair bit of this, the m68k core dump and exec goo, can probably be
made into a generic m68k hpux module, eventually.

More to be placed in hpux_machdep.c - keep your eyes peeled...
1996-01-06 12:44:06 +00:00
scottb
382f551ca1 Added support for sysi86 and eaccess syscalls 1996-01-06 03:23:46 +00:00
pk
3a7b2129f3 Implement vhangup(); more or less as suggested in PR#1560 (matthew green).
I'm vrele'ing s_ttyvp here too, so sys_exit() won't have to go over it
again.
1996-01-05 16:53:14 +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
jonathan
36817f8d02 Rewrite (a copy of) the emul-sunos termio/termios emulation code to
emulate Ultrix termio/termios instead. Ultrix termio c_cc has separate
VMIM/VTIME attributes, and the Ultrix termios c_cc is a strict
superset of Ultrix termio c_cc. The termios-only c_cc indices are
all changed, relative to SunOS.
1996-01-04 19:03:32 +00:00
jonathan
ac604db4dd Add sigcode and esigcode to emul_ultrix, so that signal trampoline
code is set up for emul_ultrix processes.
1996-01-03 21:07:33 +00:00
jonathan
c02f0114ff Ultrix-compatible termios struct and ioctl() definitions. 1995-12-27 19:57:25 +00:00
mycroft
3872a4ba45 Take a stab at implementing TCXONC and TCFLSH. 1995-12-26 17:56:36 +00:00
jonathan
a44b6c74de Add emulation of ultrix mount(2). Sufficient to NFS-mount filesystems
using a NetBSD kernel in an ultrix root filesystem.

Move wait emulation to the old (v7) wait syscall number, as that's
what the  Ultrix ufs_mount binary uses.
1995-12-26 10:06:14 +00:00
jonathan
e9411cae99 Fix ultrix_sys_select() entry. 1995-12-26 04:46:08 +00:00
jonathan
6a363a1101 Add emulation of Ultrix select: before calling native sys_select(),
limit the number of FDs to select on to the maximum supported by NetBSD --
which is as many FDs as the emul_ultrix process can have open, anyway.

Add emulation of Ultrix getmnt(2) in ultrix_fs.c

Add partial emulation of Ultrix tty ioctl()s in ultrix_ioctl.c, derived
from compat/sunos/sunos_ioctl.c.  Ultrix libc's ``isatty()'' now works
in compat_emul processes.
1995-12-26 04:44:37 +00:00
jonathan
0a1e90f900 Add emulation of Ultrix select: before calling native sys_select(),
limit the number of FDs to select on to the maximum supported by NetBSD --
which is as many FDs as the emul_ultrix process can have open, anyway.

Add emulation of Ultrix getmnt(2) in ultrix_fs.c

Add partial emulation of Ultrix tty ioctl()s in ultrix_ioctl.c, derived
from compat/sunos/sunos_ioctl.c.  Ultrix libc's ``isatty()'' now works
in compat_emul processes.
1995-12-26 04:22:30 +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
fvdl
4ed045ab27 syscalls.master changed 1995-12-18 14:35:43 +00:00
fvdl
2df1785997 msync, readv and writev were recently added to the Linux kernel; add them
to the emulation as well.
1995-12-18 14:35:08 +00:00
ghudson
76063d53bb Reverse pk's changes from 1.57; the faked cookies are not valid,
and are no longer necessary now that NFS provides cookies.
1995-12-14 18:44:44 +00:00
thorpej
3bf97cdb69 Fix a type-size glitch caught by gcc 2.7.2. 1995-12-11 16:32:46 +00:00
mycroft
018fa71167 Eliminate bogus casts. 1995-12-09 04:05:52 +00:00
mycroft
812fdf80d2 Reran makesyscalls.sh. 1995-12-09 04:04:45 +00:00
mycroft
9df1f90849 We don't need a private version of fork() here any more. 1995-12-09 04:01:42 +00:00
thorpej
d7cef923ac Centralize the HP-UX file flags translation stuff. 1995-12-08 07:54:43 +00:00
thorpej
b0ca4831ea Check in two changes I apparently overlooked the last time. "oops" 1995-12-08 07:45:31 +00:00
jtc
0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
thorpej
0d02785d6c Re-ran makesyscalls.sh; syscalls.conf and syscalls.master chagned. 1995-11-28 08:43:58 +00:00
thorpej
0ec193c9b2 Get COMPAT_HPUX partially working on the hp300. Notable improvements:
* It compiles (and links).
	* Make use of "/emul/hpux" where applicable.
	* Untangle a bit, pulling some funtions from the monolithic
	  hpux_compat.c into hpux_file.c, hpux_exec.c, etc.
	* Fix a couple of bugs.
Yet to do:
	* Move hp300-specific functions into hp300/hp300/hpux_machdep.c.
	* Make everything work properly (you laugh...)

These changes are sufficient to run some simple HP-UX 9.x executables,
including ls(1) (which will read password and group information from the
YP server correctly, albeit slowly), a simple "hello world", uname(1),
and a few other odds and ends.  Dynamically linked executables work, and
demand-paging _seems_ to work properly.  Major problems:
	* socket and/or signal handling appears to need some work yet.
	* 99% sure I didn't do exactly the right thing adjusting for the
	  fact that "kstack" is gone now.
	* ktrace(1)'ing some executables (HP-UX telnet(1) is what I tried)
	  causes the HP-UX executable to dump core with a SIGSEGV for an
	  as of yet unknown reason.

This is mostly meant as a checkpoint/snapshot, to make it easier for others
to track progress on this code, and hack on it themselves.  It's certainly
better off now than before.
1995-11-28 08:39:45 +00:00
thorpej
b2f1fb085b Fix transposed copyin() args, from Niklas Hallqvist <niklas@appli.se>. 1995-11-16 18:42:05 +00:00
cgd
bd4a0a45ea note that COMPAT_OSF1 requires ECOFF, in a comment. 1995-11-15 05:42:17 +00:00
gwr
883be4be3a ufs ==> ffs 1995-11-07 22:27:21 +00:00
mycroft
d67fb08153 Make sure we free the pathname buffer in all error cases. 1995-10-22 08:20:44 +00:00
cgd
d71e8d0d69 set, don't add to, CFLAGS from COMPATCFLAGS 1995-10-20 00:34:15 +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
pk
b60d6eae12 Gets NFS-mounted /emul/sunos going again by faking readdir cookies if
not supported by VOP_READDIR().
1995-10-11 12:50:23 +00:00
mycroft
28484180c7 Fix minor oversight. 1995-10-10 18:27:25 +00:00
mycroft
5d9ff18d18 Switch to user code and data selectors in the GDT while handling signals. 1995-10-10 04:54:18 +00:00
mycroft
25f53a986f Add USERMODE() and KERNELMODE() macros, and use them. 1995-10-10 04:45:03 +00:00
mycroft
d279b4198a Convert VMIN and VTIME. 1995-10-10 02:35:16 +00:00
mycroft
e6d9bc8787 Fix typo. 1995-10-10 01:34:37 +00:00
mycroft
a91100d6af Oops; remove something. 1995-10-10 01:20:55 +00:00
mycroft
e1ac4c6362 Output of makesyscalls.sh. 1995-10-10 01:20:11 +00:00
mycroft
63bb46e733 FreeBSD binary compatibility module, from Noriyuki Soda. 1995-10-10 01:19:24 +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
0fff06cb86 Remove struct sunos_dirent from here. 1995-10-09 16:54:48 +00:00
mycroft
652c9eff74 Use cookies for directory offset, mostly from Greg Hudson. 1995-10-09 11:23:57 +00:00
fvdl
82079ba5b3 Work around calling the NetBSD fcntl(F_{G,S}ETOWN) for now; it is too
restrictive to implement the Linux equivalent (and perhaps too restrictive
overall).
1995-10-08 22:53:43 +00:00
fvdl
7292169d66 Avoid unnecessary copyin() of shmid_ds struct for shmctl(IPC_RMID) 1995-10-08 22:49:29 +00:00
fvdl
81d650570f Implement the KDGKBMODE ioctl for Linux (possible with pcvt 3.32). 1995-10-08 22:45:20 +00:00
mycroft
319813467d Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:53:04 +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
4a15671a68 Fix the declaration of compat_43_wait() (int * -> register_t *), pointed
out by Chris Demetriou.
1995-09-29 05:18:41 +00:00
thorpej
236ee835ed Add common file lists, similar to what the other emulation modules use. 1995-09-20 00:15:18 +00:00
thorpej
7d7396c414 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:53:47 +00:00
thorpej
d4153ed512 makesyscalls.sh changed 1995-09-19 22:50:38 +00:00
thorpej
78f7651c91 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:49:22 +00:00
thorpej
9c2a912abe makesyscalls.sh changed 1995-09-19 22:46:47 +00:00
thorpej
e4747eef00 Obsolete; use the one in /sys/kern 1995-09-19 22:46:04 +00:00
thorpej
19ccdce168 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:44:25 +00:00
thorpej
134a6981d1 makesyscalls.sh changed 1995-09-19 22:42:48 +00:00
thorpej
cd414f7dca Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:42:02 +00:00
thorpej
6d91dd5b49 makesyscalls.sh changed. 1995-09-19 22:38:15 +00:00
thorpej
e1da0d5390 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:37:27 +00:00
thorpej
4d68188f17 makesyscalls.sh changed. 1995-09-19 22:24:14 +00:00
thorpej
b5a39bba19 Make system calls conform to a standard prototype and bring those
prototypes into scope.

Fix a couple of bugs revealed during the prototyping process.
1995-09-19 22:19:01 +00:00
thorpej
d95577b1ce makesyscalls.sh changed. 1995-09-19 22:13:07 +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
thorpej
7160dfc805 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 21:57:36 +00:00
fvdl
788a8655bc Update offset elsewhere in linux_getdents(); still emulate a bug in
Linux, but avoid endless loops.
1995-09-13 21:51:14 +00:00
fvdl
43279db68d Fix PR #1445 (incorrect ifdef/else/endif), from Bill Sommerfeld via
John Kohl.
1995-09-08 07:57:15 +00:00
fvdl
df2f99818a Get notion of VT number right. 1995-09-07 21:55:43 +00:00
fvdl
698e606f39 syscalls.master changed 1995-09-07 21:49:52 +00:00
fvdl
a396a097b7 Fix some bugs & typing problems. 1995-09-07 21:48:59 +00:00
mycroft
29053c58b2 SA_ONSTACK --> SS_ONSTACK 1995-09-01 20:05:59 +00:00
fvdl
10101d52ba Only define some vars (one of pcvt-specific type) when pcvt is configured.
Fixes PR #1424 (from Mike Long)
1995-08-31 09:33:10 +00:00
fvdl
0324e91dae Remove VT-switch disabling hack now that pcvt handles this. 1995-08-30 00:32:51 +00:00
fvdl
9ca2821d22 A couple of definitions added for previous changes. 1995-08-27 20:57:18 +00:00
fvdl
040bcc367d Add some yucky code to emulate Linux VTs well enough to make svgalib
stuff work reasonably well.
1995-08-27 20:56:38 +00:00
fvdl
a7459f5321 syscalls.master changed 1995-08-27 20:53:31 +00:00
fvdl
d308963c5d Add a hook for MD ioctl calls, plus a couple of more changes to make
svgalib binaries work on the i386
1995-08-27 20:51:48 +00:00
fvdl
72e901b9ff syscalls.master changed 1995-08-23 20:19:15 +00:00
fvdl
28d9d64235 Emulate some syscalls that appear in Linux 1.3: a select() with normal args,
getdents() and flock().
1995-08-23 20:17:28 +00:00
fvdl
7cd62a508c Check for status NULL argument in wait4 and waitpid. From PR #1392
by Thomas EberHardt.
1995-08-21 23:15:51 +00:00
mycroft
7f01d32fb3 syscalls.master changed. 1995-08-21 03:42:35 +00:00
mycroft
9a0cd13442 Implement the old and older uname(2) calls. 1995-08-21 03:42:09 +00:00
cgd
ce48e523d6 kill some redundant (and harmful) static definitions of functions 1995-08-19 04:04:50 +00:00
mycroft
760379d766 Update for signal handling changes. 1995-08-17 03:07:47 +00:00
mycroft
2c03307168 If updating the timeval would make it negative, zero it instead. 1995-08-16 04:50:17 +00:00
mycroft
dc41c4257e Allow bogus timevals, per Linux. 1995-08-16 04:29:49 +00:00
mycroft
54c148fda5 Convert 230400 baud. 1995-08-16 04:14:51 +00:00
fvdl
02b3c95be6 Implement the rest of the sysv ipc calls ({sem,msg}*()) 1995-08-15 21:14:32 +00:00
gwr
3d4ed382f6 Catch up with renamed SA_DISABLE flag and update
sunos_sigvec to allow the new SA_RESETHAND flag.
1995-08-15 17:28:02 +00:00
mycroft
c331c7be82 Rename ss_flags bits. 1995-08-15 16:52:30 +00:00
mycroft
e9d68a777e Export bsd_to_linux_sig[], and use it. 1995-08-14 02:58:29 +00:00
mycroft
d2c9e4f1c8 Export bsd_to_ibcs2_sig[], and use it. 1995-08-14 02:26:01 +00:00
mycroft
10c06fe363 Prototype some functions. 1995-08-14 02:22:20 +00:00
mycroft
9b899c17cd Export bsd_to_linux_sig[], and use it. 1995-08-14 02:19:08 +00:00
mycroft
1e69f23205 Export bsd_to_svr4_sig[], and use it. 1995-08-14 02:07:57 +00:00
mycroft
baaaba9bc5 Rearrange #includes. 1995-08-14 01:38:24 +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
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
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
mycroft
e5877200d7 Clean up deleted files. 1994-10-25 23:03:35 +00:00
deraadt
019f48332c rename, new syscall interface, etc. 1994-10-25 23:03:22 +00:00
deraadt
dca2741d28 make SYS_* macros unique 1994-10-24 23:26:02 +00:00
mycroft
f3c9ca2e05 Make the termios convul^H^Hersion a little less ugly, and convert CSIZE correctly. 1994-10-24 22:01:35 +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
deraadt
042d2d08a1 use STACKGAPBASE 1994-09-28 00:41:17 +00:00
mycroft
3e334ba9a6 New iBCS2 code from Scott. 1994-09-05 01:28:57 +00:00
mycroft
c639e40d5b iBCS2 emulation code, written by Scott Bartram. 1994-08-24 19:13:39 +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
glass
7ea51310a8 add ultrix_{get,set}sysinfo() from Arne H Juul <arnej@dsl.unit.no> 1994-08-01 14:16:24 +00:00
glass
32d2a27836 ultrix_{get,set}info from Arne H Juul <arnej@dsl.unit.no> 1994-08-01 14:15:06 +00:00
gwr
ba188a61a0 Avoid some macro redefinitions that have appeared since exec.h
now includes exec_aout.h
1994-07-12 00:34:31 +00:00
cgd
a2e313bd42 gen syscall fiels from new syscalls.master 1994-06-30 17:01:45 +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
glass
e0069330b3 oops 1994-06-25 07:06:49 +00:00
deraadt
932345acae post 4.4-lite update 1994-06-24 07:30:17 +00:00
pk
c3357eea57 sun_mount: fill in one more field. 1994-06-22 08:24:53 +00:00
glass
188170d2e3 update to reflect compat_ultrix syscalls.master 1994-06-22 03:38:25 +00:00
glass
8c50058535 update for getdtablesize change, and track compat_sunos 1994-06-22 03:37:15 +00:00
mycroft
c22aab7bbe getdirentries() and getdtablesize() compat. 1994-06-22 03:04:01 +00:00
deraadt
a53fa907c7 async_daemon only if NFSCLIENT 1994-06-15 19:38:05 +00:00
glass
57642fb485 much works but untested w/new fs. expect more tomorrow 1994-06-15 05:18:01 +00:00
chopps
f63e2d134a update to match recent getdtablesize() change 1994-06-14 10:51:09 +00:00
pk
0f1018ce49 Adapt to 4.4-lite. 1994-06-10 09:26:18 +00:00
mycroft
b43f4fdfcd Minor change. 1994-06-08 11:19:04 +00:00
deraadt
4a46b42560 tricky 1994-06-06 06:57:59 +00:00
glass
2c9de9962f first swipe at ultrix compat. expect many bug fixes. very related to compat/sunos 1994-06-02 06:25:37 +00:00
mycroft
64561e1985 Something else needs COMPAT_OHPUX. 1994-05-25 11:55:06 +00:00
deraadt
95c2509dcd maxfdescs -> maxfiles 1994-05-24 03:27:13 +00:00
deraadt
8dbae58853 maxfdescs -> maxfiles 1994-05-24 02:15:18 +00:00
mycroft
48dd63215d Merge with 4.4-Lite. 1994-05-23 08:03:32 +00:00
mycroft
56c75f2846 Update to match other code. 1994-05-23 06:19:05 +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