Commit Graph

530 Commits

Author SHA1 Message Date
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
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