Annotation of coherent/f/usr/include.78/sys/i8086.h, revision 1.1

1.1     ! root        1: /* (-lgl
        !             2:  *     COHERENT Driver Kit Version 2.0
        !             3:  *     Copyright (c) 1982, 1992 by Mark Williams Company.
        !             4:  *     All rights reserved. May not be copied without permission.
        !             5:  -lgl) */
        !             6: /*
        !             7:  * Machine dependent stuff.
        !             8:  * 8086/8088 & 286 Coherent PC/XT/AT.
        !             9:  */
        !            10: #ifndef        I8086_H
        !            11: #define        I8086_H
        !            12: 
        !            13: /*
        !            14:  * Useful definitions.
        !            15:  */
        !            16: #define        PIC     0x20                    /* 8259 command port */
        !            17: #define        PICM    0x21                    /* 8259 mask port */
        !            18: #define        SPIC    0xA0                    /* Slave 8259 command port */
        !            19: #define        SPICM   0xA1                    /* Slave 8259 mask port */
        !            20: #define        MFTTB   0x0100                  /* Trace trap bit */
        !            21: #define        MFINT   0x0200                  /* Interupt enable */
        !            22: #define        MUERR   0x0002                  /* Location of errno */
        !            23: 
        !            24: /*
        !            25:  * Trap codes.
        !            26:  * Passed in the upper 8 bits of
        !            27:  * the "id" passed to "trap".
        !            28:  */
        !            29: #define        SIDIV   0                       /* Divide overflow */
        !            30: #define SISST  1                       /* Single step */
        !            31: #define        SINMI   2                       /* NMI (parity) */
        !            32: #define        SIBPT   3                       /* Breakpoint */
        !            33: #define        SIOVF   4                       /* Overflow */
        !            34: #define        SIBND   5                       /* Bound */
        !            35: #define        SIOP    6                       /* Invalid opcode */
        !            36: #define        SIXNP   7                       /* Processor extension not available */
        !            37: #define        SIDBL   8                       /* Double exception */
        !            38: #define        SIXS    9                       /* Processor extension segment overrun */
        !            39: #define        SITS    10                      /* Invalid task state segment */
        !            40: #define        SINP    11                      /* Segment not present */
        !            41: #define        SISS    12                      /* Stack segment overrun/not present */
        !            42: #define        SIGP    13                      /* General protection */
        !            43: #define        SISYS   32                      /* System call */
        !            44: #define        SIRAN   33                      /* Random interrupt */
        !            45: #define        SIDEV   64                      /* Device interrupt */
        !            46: 
        !            47: /*
        !            48:  * The saved registers are accessed
        !            49:  * via constant offsets from the top of the
        !            50:  * user area stack. The "O" symbols, defined below,
        !            51:  * are the offsets, in words, from the initial system
        !            52:  * stack. The offsets depend on the actual save order
        !            53:  * defined by "tsave" in the assist.
        !            54:  */
        !            55: #define        regl    ((int *)((char *)&u+UPASIZE))
        !            56: 
        !            57: #define        OFW     -1
        !            58: #define        OCS     -2
        !            59: #define        OIP     -3
        !            60: #define        OID     -4
        !            61: #define        OSS     -5
        !            62: #define        OSP     -6
        !            63: #define        ODS     -7
        !            64: #define        OBX     -8
        !            65: #define        OAX     -9
        !            66: #define        ODX     -10
        !            67: #define        OCX     -11
        !            68: #define        OES     -12
        !            69: #define        ORA     -13
        !            70: #define        OSI     -14
        !            71: #define        ODI     -15
        !            72: #define        OBP     -16
        !            73: 
        !            74: /*
        !            75:  * For accessing high and low words of a long.
        !            76:  */
        !            77: struct l {
        !            78:        int     l_lo;
        !            79:        int     l_hi;
        !            80: };
        !            81: 
        !            82: #ifdef KERNEL
        !            83: /*
        !            84:  * Global variables.
        !            85:  */
        !            86: extern unsigned ucs;                   /* User code segment */
        !            87: extern unsigned ucl;                   /* Length of code segment */
        !            88: extern unsigned uds;                   /* User data segment */
        !            89: extern unsigned udl;                   /* Length of data segment */
        !            90: extern char     depth;                 /* Stack depth */
        !            91: 
        !            92: #endif
        !            93: 
        !            94: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.