Commit Graph

566 Commits

Author SHA1 Message Date
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
pk ec587073d7 I_SIGSET => I_SETSIG (pointed out by Greg Earle). 1996-05-26 23:57:10 +00:00
mrg 663808dfc5 use ' not " when passing variables to a sub-make. pr#1199/pr#1296 1996-05-20 17:23:25 +00:00
mark 847038524a cast -1 to a char for comparision with tc->t_brkc so that this test
will work with signed and unsigned chars.
1996-05-20 14:29:17 +00:00
fvdl 484a6c9fe4 Regen. 1996-05-20 02:00:53 +00:00
fvdl 69761c2aa8 Update list of Linux syscalls and implement the ones that are likely to be
used and doable.
1996-05-20 01:59:09 +00:00
veego d5db0e464d Put this into an #ifdef COMPAT_OLDTTY.
look in <sys/tty.h> for more infomations about that.
1996-05-18 22:17:49 +00:00
christos 4f3ac596f5 - rename cpu_exec_aout_prep_oldzmagic to exec_aout_prep_oldzmagic 1996-05-18 16:02:08 +00:00
christos f09036d6ec - Moving cpu_exec_aout_prep_oldzmagic -> exec_aout_prep_oldzmagic.
This is used by the i386, hp300 and mac68k ports.
- Added exec_aout_prep_oldomagic, and exec_aout_prep_oldnmagic
  These are just copies of the respective prep functions from
  kern_exec.c with text address starting at 0. Maybe a better fix
  is to pass the starting address as a third argument so we don't
  duplicate code, but this could be the next pass since the functions
  are used in many places. These functions are used for BSDI binaries.
1996-05-18 15:52:19 +00:00
christos 268e6edf33 Support bsdi getkerninfo(SYSINFO,...) call so that the BSDI netscape
calling uname(3) can find out what os it is running on. Tested only with a
bsdi binary that calls getkerninfo directly. Funny thing is that I ran
the same binary on a bsdi machine, and they fill in fewer fields in the
emulation than we do; maybe I went overboard :-)
1996-05-18 01:24:34 +00:00
christos 6ba5bd8c10 Fix OGETUDATA for Solaris-2.3 (From Greg Hudson) 1996-05-13 16:57:50 +00:00
mycroft 540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
mrg b961912b8a sort this. 1996-05-05 17:14:25 +00:00
veego 203fc82ae2 Added a missing Makefile and run it
Moved the prototyp for sunos_sendsig in an #ifndef sparc
1996-05-05 16:07:42 +00:00
briggs 8b8a6fcf2f Put prototype for sunos_sendsig() in sunos.h as suggested by veego. 1996-05-05 12:01:45 +00:00
christos 5503f7b749 Prototype and gcc -Wall cleanups 1996-05-03 19:41:56 +00:00
christos 8fd0f1f8b3 Add missing prototypes. 1996-05-03 19:26:28 +00:00
christos 029f35aa10 Avoid overruns when copying the interface name. 1996-05-03 17:09:15 +00:00
christos a9972e1bbb - RCSid police
- gcc -Wall fixes
1996-05-03 17:05:16 +00:00
christos 744868c6a0 gcc -Wall fixes. 1996-05-03 17:03:09 +00:00
christos ffd5576439 remove include of <sys/cpu.h> 1996-04-22 01:44:31 +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
mycroft 7a8c8f8a5c Turn off the alignment check flag when entering a signal handler. 1996-04-18 08:36:20 +00:00
mycroft ad790f628e Turn off the trace flag when delivering a signal. 1996-04-12 08:44:35 +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
mycroft 48643c6605 Export [gs]et_vflags(), and always use them when saving/restoring registers
in VM86 mode.
Allow changing of *all* PSL bits in VM86 mode; some applications don't work
right otherwise, and all the nasty bits are virtualized anyway.
Make sure PSL_VIF, PSL_VIP, and PSL_VM don't show up in the user's view of
the PSL.
1996-04-11 07:47:33 +00:00
jonathan b72f41635e Remove gcc -Wall lint from ultrix emulation.-
Mostly adding explicit != comparison to "if (error = copyin/out( ... ))".
Fix comment glitch in ultrix_fs.c
1996-04-07 17:23:04 +00:00
jonathan 938d7138be Add vax setregs() support for exec'ing vax ultrix a.out binaries. 1996-04-07 16:38:03 +00:00
christos 151fa70f78 Prototyping changes. 1996-04-05 00:01:10 +00:00
christos d7130e8385 - Prototyping changes
- Fix bug that gcc -Wall found in linux_sys_getpgid()
1996-04-04 23:56:01 +00:00
christos 363777341c - Add missing prototypes
- Fix bugs with reversed arguments that prototyping discovered
1996-04-04 23:51:36 +00:00
mycroft 46c087980e Add explicit return types. 1996-04-03 08:55:20 +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 fc8b478bdd Bring prototypes into scope and fix compiler warnings. 1996-03-14 19:33:44 +00:00
christos 6cbf515e30 Fix compiler warnings 1996-03-14 19:31:45 +00:00
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