freebsd-skq/sys/compat/svr4
kib ee461b4bba Remove sv_prepsyscall, sv_sigsize and sv_sigtbl members of the struct
sysent.

sv_prepsyscall is unused.

sv_sigsize and sv_sigtbl translate signal number from the FreeBSD
namespace into the ABI domain.  It is only utilized on i386 for iBCS2
binaries.  The issue with this approach is that signals for iBCS2 were
delivered with the FreeBSD signal frame layout, which does not follow
iBCS2.  The same note is true for any other potential user if
sv_sigtbl.  In other words, if ABI needs signal number translation, it
really needs custom sv_sendsig method instead.

Sponsored by:	The FreeBSD Foundation
2015-11-28 08:49:07 +00:00
..
imgact_svr4.c Implement lockless resource limits. 2015-06-10 10:48:12 +00:00
Makefile
README These don't belong in the modules directory. 2014-11-06 16:52:51 +00:00
svr4_acl.h
svr4_dirent.h
svr4_errno.h
svr4_exec.h
svr4_fcntl.c Remove the no-at variants of the kern_xx() syscall helpers. E.g., we 2014-11-13 18:01:51 +00:00
svr4_fcntl.h
svr4_filio.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
svr4_filio.h
svr4_fuser.h Update NetBSD Foundation copyrights to 2-clause BSD 2014-03-18 01:40:25 +00:00
svr4_hrt.h
svr4_ioctl.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
svr4_ioctl.h
svr4_ipc.c Update NetBSD Foundation copyrights to 2-clause BSD 2014-03-18 01:40:25 +00:00
svr4_ipc.h
svr4_misc.c The si_status field of the siginfo_t, provided by the waitid(2) and 2015-07-18 09:02:50 +00:00
svr4_mman.h
svr4_proto.h
svr4_resource.c Implement lockless resource limits. 2015-06-10 10:48:12 +00:00
svr4_resource.h Update NetBSD Foundation copyrights to 2-clause BSD 2014-03-18 01:40:25 +00:00
svr4_siginfo.h
svr4_signal.c
svr4_signal.h
svr4_socket.c Adjust printf format specifiers for dev_t and ino_t in kernel. 2014-12-17 07:27:19 +00:00
svr4_socket.h
svr4_sockio.c Fix build. 2013-11-05 19:17:19 +00:00
svr4_sockio.h
svr4_sockmod.h
svr4_stat.c Remove the no-at variants of the kern_xx() syscall helpers. E.g., we 2014-11-13 18:01:51 +00:00
svr4_stat.h
svr4_statvfs.h
svr4_stream.c fd: remove filedesc argument from fdclose 2015-04-11 15:40:28 +00:00
svr4_stropts.h
svr4_syscall.h
svr4_syscallnames.c
svr4_sysconfig.h
svr4_sysent.c
svr4_systeminfo.h
svr4_sysvec.c Remove sv_prepsyscall, sv_sigsize and sv_sigtbl members of the struct 2015-11-28 08:49:07 +00:00
svr4_termios.c
svr4_termios.h
svr4_time.h
svr4_timod.h
svr4_types.h
svr4_ucontext.h
svr4_ulimit.h
svr4_ustat.h
svr4_util.h
svr4_utsname.h
svr4_wait.h
svr4.h
syscalls.conf
syscalls.master
TO-DO These don't belong in the modules directory. 2014-11-06 16:52:51 +00:00

This is a SysVR4 emulator derived from work done as part of the NetBSD
Project by Christos Zoulas.  It has been ported to FreeBSD by Mark Newton.

To use it:

1.  Choose one of:
      a.  Add "device streams" to your kernel config file and rebuild,
          reboot; or
      b.  Build and install the streams module in /sys/modules/streams

2.  Build and install the svr4 module in /sys/modules/svr4

3.  Type "kldload svr4" to start it up.

4.  Grab compat_sol26.tar.gz or compat_svr4.tar.gz from
    http://www.freebsd.org/~newton/freebsd-svr4 and install them in
    /compat/svr4

5.  Run "sh SVR4_MAKEDEV all" in /compat/svr4/dev

6.  Mount a Solaris/x86 v2.6 or v7 CD-ROM on /cdrom (also works with 
    v2.4 and v2.5.1, but you need different symlinks in /compat/svr4)

7.  Brand any executables you want to run, and/or set the
    kern.fallback_elf_brand sysctl to 'SVR4' to establish this as the
    default emulator for unbranded executables.

8.  See if your SysVR4 programs work.

It's early days yet, folks -- You'll probably have trouble getting 100%
functionality out of most things (specifically, poll() on a socket doesn't
look like it works at the moment, so Netscape doesn't work (among other
things)).  Patches will be appreciated.

   - Mark Newton
     newton@atdot.dotat.org

$FreeBSD$