summaryrefslogtreecommitdiffstats
path: root/sys/i386/ibcs2/README.iBCS2
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/ibcs2/README.iBCS2')
-rw-r--r--sys/i386/ibcs2/README.iBCS2124
1 files changed, 0 insertions, 124 deletions
diff --git a/sys/i386/ibcs2/README.iBCS2 b/sys/i386/ibcs2/README.iBCS2
deleted file mode 100644
index 2977b09..0000000
--- a/sys/i386/ibcs2/README.iBCS2
+++ /dev/null
@@ -1,124 +0,0 @@
-What it is
-==========
-
-This is a project that Sean Eric Fagan (sef@kithrup.com) started, and
-Soren Schmidt (sos@login.dknet.dk, author of syscons) picked up. It allows
-SYSVr3.2 i386 binaries (iBCS2 compatible) to run under FreeBSD-2.0.
-We haven't been able to do an exhaustive test, of course, but we are able
-to run at least the following programs:
-
- ISC 2.2 sh, vi, dd, date, wc, chmod, etc.
-
- SCO 3.2v2 runs most (coff) utils on a chroot'ed filesystem
- Informix-2.10, gcc, bash, tcsh ....
-
- SCO 3.2v4 sh, gzip, GNU make, tcsh
-
-Some of those, for both ISC and SCO, used the shared libraries that are
-available for those systems. Currently, the only way to run them, is to
-get a copy of the shared libraries in question (e.g. /shlib/libc_s).
-There might be a way to generate them from a package available for Linux,
-but we haven't had the time or energy to do it ourself, and the last call
-for volunteers resulted in nothing. If someone else wants to volunteer,
-we would be grateful.
-
-
-How to get it into the system
-=============================
-
-There are two ways of getting iBCS2 support into the system. One is to use
-Loadable Kernel Modules (LKM) to put it into the kernel at run-time. This
-demands a kernel compiled with:
-
- options "COMPAT_IBCS2"
-
-This puts in the nessesary hooks to let the iBCS2 support do its thing.
-One loads the iBCS2 support by using the command 'ibcs2' (in /usr/bin).
-You can use 'modstat' to see the loaded modules.
-
-Another way is to compile it into the kernel. This is accomplished using:
-
- options "COMPAT_IBCS2"
- options "IBCS2"
-
-in the kernel config file.
-
-
-Where's what
-============
-
-The ibcs2 package consists of quite a few files located in ./sys/i386/ibcs2.
-Here is a brief description of them:
-
-ibcs2.h: Basic header file defines iBCS2 types etc.
-
-ibcs2_dummy.c: Stubs to system calls not yet supported, or not feasible
- to emulate.
-
-ibcs2_ioctl.c: Probably the single-most complicated part of it, this deals
- with translating as many ioctl calls as possible between
- BSD and iBCS2.
-
-ibcs2_misc.c: This has all of the wrapping routines that were thought
- "easy" (at least initially) or that didn't fit anywhere else.
-
-ibcs2_file.c: Functions that deals with file I/O, such as getdents and read
- which are more complex than one should expect.
-
-ibcs2_signal.c: This deals with the signal cruft, including both system
- calls and signal translation.
-
-ibcs2_stats.c: This has all of the filesystem statistic wrappers
- (stat, fstat, statfs, etc.).
-
-ibcs2_sysent.c: This has the system call table for iBCS2 programs, and is
- NOT generated automatically.
-
-ibcs2_ipc.c: Stubs for the iBCS2 ipc calls (shm, msg, sem).
-
-ibcs2_isc.c: This deals with the ISC specific system call (cisc()).
-
-ibcs2_sysi86.c: This deals with the i86 specific system call (sysi86()).
-
-ibcs2_xenix.c: This deals with the Xenix specific system call (cxenix()).
- (This also has some of SCO's POSIX-conformant functions.)
-
-imgact_coff.c: This is the functions that alllows the kernel to load
- COFF programs. It also deals with shared library loading.
-
-There also exist two files (ibcs2_socksys.[ch]) which contains a proto
-implementation of the SYSVr3 socket system, donated by Mostyn Lewis
-(mostyn@mrl.com). It has not been tested much but is included as a basis
-for network support, which is nessesary to run X and the likes.
-
-
-What's Next
-===========
-
-Much needs to be done yet, mainly the socksys emulation should be looked
-at to get socket support going. There currently also is no ipc support.
-The sem & msg functions should map fairly easy to the BSD ones, but our
-current BSD shm implementation is not even close to SYSV behavior, if it
-works at all.
-We currently have loaders or "image_activators" for other binary formats,
-but none of them is really usefull yet (xout, elf).
-Also most of the wrappers for the extra syscalls used by SYSVr4 has been
-done, but not much testing yet because of lacks in the elf loader (but it
-will run a statically linked SYSVr4 shell).
-
-All the wrappers should be tested one by one using every aspect of use
-by the iBCS2 system. The tests we have done so far is to run small
-testprograms to check a limited set of the emulation. When this proved
-that the basics was functional, we tried with what iBCS2 programs where
-at hand. This is by no means an exhaustive test or to say that the
-emulation is errorfree, only a statement of overall functionality of
-the emulator.
-
-Surely much work can be done here, but we are both kind of lazy, and did
-the whole thing just for the fun of it, and mainly as a "can it be done"
-project.
-
- Soren Schmidt (sos@login.dknet.dk)
- Sean Eric Fagan (sef@kithrup.com)
-
-
OpenPOWER on IntegriCloud