Commit Graph

615 Commits

Author SHA1 Message Date
jonathan 3281d4c16d Fix cut-and-paste (ouap vs ap) bugs so the previous revision actually
compiles.  Change variable names to use "ap" instead of "ouap" everywhere
to avoid similar bugs in future.
1996-09-29 10:52:02 +00:00
cgd 7c3255776d slightly clean up some of the changes made when ELF64 support went in 1996-09-27 18:14:23 +00:00
cgd 9c3e274c7b adapt ELF-using compat code to use new ELF definitions/code. At this point,
these are restricted to 32-bit ELF, and should be severely cleaned.
1996-09-26 20:52:42 +00:00
christos 42d3980338 Fix PR/2779: statvfs returns incorrect sizes. From Aaron Brown 1996-09-25 04:37:13 +00:00
ghudson ed1f3fd647 Handle relative paths to the source tree if they begin with '.'. 1996-09-23 05:01:52 +00:00
christos 6e5a87c781 regen 1996-09-20 16:43:55 +00:00
christos a9028f3d76 getlogin -> __getlogin 1996-09-20 16:19:27 +00:00
thorpej c9bf6a7e5a Add exec glue for `COMPAT_M68K4K'; just map the executable the way
a MID_M68K4K expects to be mapped.  Allows any m68k port with
NBPG == 4096 to run NetBSD/hp300 executables, and will allow hp300s
to run legacy executables when that port's default format is eventually
changed to match the other m68k ports.
1996-09-10 22:01:20 +00:00
mycroft 826fb76b6f Regen. 1996-09-07 14:24:17 +00:00
mycroft 1449e67e30 Modify poll(2) prototype. 1996-09-07 14:20:09 +00:00
mycroft c9663d2cad Regen. 1996-09-07 13:24:34 +00:00
mycroft 17b9974c5a Implement poll(2). 1996-09-07 13:23:39 +00:00
mycroft cb488ac22a Definition of pollfd is no longer needed. 1996-09-07 13:02:43 +00:00
mycroft f51fa207ba Regen. 1996-09-07 13:01:41 +00:00
mycroft 4a60463da8 This is no longer needed. 1996-09-07 13:01:29 +00:00
mycroft 264dd4757c Regen. 1996-09-07 12:56:49 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft e9e01a4d00 Regen. 1996-09-03 03:19:46 +00:00
mycroft 5de9f548a2 Give every emulation its own Makefile for the syscall table. 1996-09-03 03:18:04 +00:00
mycroft a8fd25767d Define execv() and execve() consistently across emulations.
Do path name translation.
1996-09-03 03:12:17 +00:00
mycroft 65605b0484 Fix bogus offset calculation in ibcs2_sys_read(), per PR 1804. 1996-09-03 02:44:14 +00:00
christos e32eb9631f regen syscall tables 1996-08-30 23:08:21 +00:00
christos 0c1a0303ec add obsolete stime(2) 1996-08-30 23:07:49 +00:00
christos f8dddb3afe add: I_FDINSERT, _I_BIND_RSVD, _I_RELE_RSVD, SI_SHUTDOWN
this fixes programs that use listen(2) and accept(2), and
makes unix domain sockets work both in tcp and udp.
1996-08-30 23:06:24 +00:00
thorpej 07e59e34e8 Regen; syscalls.master changed. 1996-08-26 22:52:17 +00:00
thorpej b0f977ee6b Implement sunos_sys_execve(). The previous code simply called
sys_execve() without doing an alternate patch check, which was
incorrect.  Bug pointed out by Krister Walfridsson <cato@df.lth.se>
on port-sparc@NetBSD.ORG.
1996-08-26 22:49:43 +00:00
mrg db019893b4 update sunos_sys_reboot() to actually work again. 1996-08-11 03:16:26 +00:00
mycroft 118b9b478d sys/dir.h -> sys/dirent.h 1996-08-10 09:08:26 +00:00
mycroft 811315ca92 Add anchors so that only exactly `-I. is modified. 1996-08-10 04:01:29 +00:00
mycroft 9c5b0780c0 Convert the -I. to -I${.OBJDIR}, so that the `machine symlink is available. 1996-08-10 03:00:51 +00:00
mrg 5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
mycroft 44f440543f We dont need to pass down COMPATDIR and KERNDIR. 1996-08-08 15:15:16 +00:00
mycroft 3f0b5a641e Run the child make in the source directory, so that nothing here needs to be
changed when the compile directory is outside the source tree.
1996-08-08 15:06:39 +00:00
christos 8979b8342a Fix PR/2599; include <sys/dirent.h> instead of <sys/dir.h> 1996-07-05 16:31:00 +00:00
pk 39dfdd0601 Translate EIO to ENOTTY after a SunOS `TIOCGETPGRP' (tcgetpgrp(3)) fails
on a pty (see also kern/pty_tty.c).
1996-07-02 21:21:57 +00:00
christos 7120dce626 Fix mysterious dissappearance of the .PATH directive. 1996-06-30 00:17:02 +00:00
mycroft 5262bdf053 Remove the old (broken) setre[ug]id() emulation. 1996-06-23 11:20:42 +00:00
mycroft fdc697b5e9 Catch up with setre[ug]id() changes. 1996-06-23 11:17:50 +00:00
mycroft 1328302bd9 Regen. 1996-06-23 11:16:12 +00:00
mycroft 365a977533 Catch up with setre[ug]id() changes. 1996-06-23 11:13:32 +00:00
mycroft f01b3b1837 Regen. 1996-06-23 11:12:22 +00:00
mycroft 3bbb29fe03 Catch up with setre[ug]id() changes. 1996-06-23 11:10:01 +00:00
cgd d73abf41aa avoid unnecessary checks of m_get/MGET/etc.'s return values. When
they're called with M_WAIT, they are defined to never return NULL.
1996-06-14 22:21:12 +00:00
christos d83602c110 Simplify and add comments. 1996-06-13 19:27:01 +00:00
christos 4d9a6e0930 - Pass the Elf32_Ehdr in the linux probe function, and use it!
Since linux binaries are (mostly) always compiled with gcc, look for
the gcc signature in the .comment section header: "\0 GCC: (GNU) ".
I've changed the probe order in kern/exec_elf.c to probe for linux ELF
binaries first and fall back to SVR4 binaries. This makes statically
linked binaries work for both linux and svr4. Note that gcc-compiled
svr4 binaries, still contain the operating system signature first and
then the GCC signature, so there is no conflict. Yes this is a hack.
1996-06-13 18:42:01 +00:00
christos 5d27db0882 Pass the elf exec header in the probe function. 1996-06-13 18:33:54 +00:00
jonathan 592ca35c51 Fix typos in SUSP and DSUSP mapping when setting Ultrix posixmode tty
attributes  (was 112 and 113,  should be 12 and 13).
1996-06-13 18:13:34 +00:00
christos 38c8b72648 Many bug fixes... These now work well enough for vi, ksh, csh, stty etc. 1996-06-05 19:27:41 +00:00
christos 13bce5bb2b - report process usage correctly. we used to get panics on SIGTSTP. 1996-06-05 19:26:13 +00:00
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