Annotation of coherent/f/usr/include.78/sys/i8086.h, revision 1.1.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.