Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ x286emul(CP) — OpenDesktop Software Development System 1.0.0d

Media Vault

Software Library

Restoration Projects

Artifacts Sought

     Name
          x286emul - emulate XENIX 80286

     Syntax
          x286emul [arg...] prog286

     Description
          x286emul is an emulator that allows programs from XENIX
          System V/286 Release 2.3 or XENIX System V/286 Release 2.3.2
          on the Intel 80286 to run on the Intel 80386 processor under
          System V Release 3.2.

          The system recognizes an attempt to exec(S) a 286 program,
          and automatically exec's the 286 emulator with the 286
          program name as an additional argument.  It is not necessary
          to specify the x286emul emulator on the command line.  The
          286 programs can be invoked using the same command format as
          on the XENIX System V/286.

          x286emul reads the 286 program's text and data into memory
          and maps them through the LDT [via sysi86(S)] as 286 text
          and data segments.  It also fills in the jam area, which is
          used by XENIX programs to do system calls and signal
          returns.  x286emul starts the 286 program by jumping to its
          entry point.

          When the 286 program attempts to do a system call, x286emul
          takes control.  It does any conversions needed between the
          286 system call and the equivalent 386 system call, and
          performs the 386 system call.  The results are converted to
          the form the 286 program expects, and the 286 program is
          resumed.

          The following are some of the differences between a program
          running on a 286 and a 286 program using x286emul on a 386:

               Attempts to unlink or write on the 286 program will
               fail on the 286 with ETXTBSY.  Under x286emul, they
               will not fail.

               ptrace(S) is not supported under x286emul.

               The 286 program must be readable for the emulator to
               read it.

     Files
          /bin/x286emul
               The emulator must have this name and be in /bin if it
               is to be automatically invoked when exec(S) is used on
               a 286 program.

                                                (printed 6/18/89)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026