Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ x286emul(CP) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought


 x286emul(CP)                   6 January 1993                   x286emul(CP)


 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 automati-
    cally 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 con-
    trol.  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 be named x286emul and be in /bin if it
                   is to be automatically invoked when exec(S) is used on a
                   286 program.


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