Annotation of cci/d/dmp4/old_defs.h, revision 1.1.1.1

1.1       root        1: #include "../fpp_defs.h"
                      2: 
                      3: 
                      4: /**************************************************************************
                      5: *
                      6: *      FLOATING POINT PROCESSOR DEMAND PAGING TEST DEFINITIONS
                      7: *
                      8: *  19-Feb-85: JJM created the little beast
                      9: *
                     10: **************************************************************************/
                     11: 
                     12: 
                     13: /*
                     14:  * Instruction definitions used in Addressing and Demand Paging Tests
                     15: */
                     16: struct instruction_t {
                     17:                   int  inst_code;              /* instruction's op code     */
                     18:                  char  *name;                  /* instruction's name        */
                     19:                   int  precision;              /* sgl / dbl precision instr */
                     20:                   int  no_operands;            /* # operands used by instr  */
                     21:                  int  type;                    /* load / store type instr   */
                     22:    struct addd_data_t  *data;                  /* ptr to current data table */
                     23:                   int  (*test_routine)();      /* prt to inst test funcion  */
                     24:     };
                     25: 
                     26: /*
                     27:  * instruction definition array ( in Common.c )
                     28: */
                     29: extern struct  instruction_t   instruction_table[];
                     30: 
                     31: 
                     32: /*
                     33:  * data for use in the addressing / demand paging tests
                     34: */
                     35: extern struct addd_data_t    ldf_data[];       /*   LDF instr data  */
                     36: extern struct addd_data_t    stf_data[];       /*   STF instr data  */
                     37: extern struct addd_data_t    lnf_data[];       /*   LNF instr data  */
                     38: extern struct addd_data_t   negf_data[];       /*  NEGF instr data  */
                     39: extern struct addd_data_t   addf_data[];       /*  ADDF instr data  */
                     40: extern struct addd_data_t   cmpf_data[];       /*  CMPF instr data  */
                     41: extern struct addd_data_t   cosf_data[];       /*  COSF instr data  */
                     42: extern struct addd_data_t   cvfl_data[];       /*  CVFL instr data  */
                     43: extern struct addd_data_t   cvlf_data[];       /*  CVLF instr data  */
                     44: extern struct addd_data_t   divf_data[];       /*  DIVF instr data  */
                     45: extern struct addd_data_t   expf_data[];       /*  EXPF instr data  */
                     46: extern struct addd_data_t   logf_data[];       /*  LOGF instr data  */
                     47: extern struct addd_data_t   mulf_data[];       /*  MULF instr data  */
                     48: extern struct addd_data_t   sinf_data[];       /*  SINF instr data  */
                     49: extern struct addd_data_t   subf_data[];       /*  SUBF instr data  */
                     50: extern struct addd_data_t   tstf_data[];       /*  TSTF instr data  */
                     51: extern struct addd_data_t  atanf_data[];       /* ATANF instr data  */
                     52: extern struct addd_data_t  sqrtf_data[];       /* SQRTF instr data  */
                     53: extern struct addd_data_t    ldd_data[];       /*   LDD instr data  */
                     54: extern struct addd_data_t    std_data[];       /*   STD instr data  */
                     55: extern struct addd_data_t    lnd_data[];       /*   LND instr data  */
                     56: extern struct addd_data_t   negd_data[];       /*  NEGD instr data  */
                     57: extern struct addd_data_t   addd_data[];       /*  ADDD instr data  */
                     58: extern struct addd_data_t   cmpd_data[];       /*  CMPD instr data  */
                     59: extern struct addd_data_t   cvdf_data[];       /*  CVDF instr data  */
                     60: extern struct addd_data_t   cvdl_data[];       /*  CVDL instr data  */
                     61: extern struct addd_data_t   cvld_data[];       /*  CVLD instr data  */
                     62: extern struct addd_data_t   divd_data[];       /*  DIVD instr data  */
                     63: extern struct addd_data_t   ldfd_data[];       /*  LDFD instr data  */
                     64: extern struct addd_data_t   muld_data[];       /*  MULD instr data  */
                     65: extern struct addd_data_t   subd_data[];       /*  SUBD instr data  */
                     66: extern struct addd_data_t   tstd_data[];       /*  TSTD instr data  */
                     67: extern struct addd_data_t  pushd_data[];       /* PUSHD instr data  */
                     68: extern struct addd_data_t   dbl_null_data[];   /* dbl null data ptr */
                     69: extern struct addd_data_t   sgl_null_data[];   /* sgl null data ptr */
                     70: 
                     71: 
                     72: 
                     73: /*
                     74:  * test routines used in the demand paging tests
                     75: */
                     76: extern int chk_dbl_acc();     /* check final dbl. Acc */
                     77: extern int chk_dbl_psl();     /* check PSL flags      */
                     78: extern int chk_dbl_s();       /* check stored value   */
                     79: extern int chk_sgl_acc();     /* check final sgl. Acc */
                     80: extern int chk_sgl_psl();     /* check PSL flags      */
                     81: extern int chk_sgl_s();       /* check stored value   */
                     82: 
                     83: 
                     84: 
                     85: /*
                     86:  * variables used with the event / demand paging / emulation tests
                     87: */
                     88: extern int  op_code;                           /* op-code of the inst.     */
                     89: extern char *op_name;                          /* ascii instruction name   */
                     90: extern int  precision;                         /* sgl / dbl instruction    */
                     91: extern int  acc_ld_size;                       /* load sgl of dbl operand  */
                     92: extern int  acc_st_size;                       /* store sgl of dbl operand */
                     93: extern int  no_ops;                            /* # of operands used       */
                     94: extern int  op_type;                           /* load / store type instr. */
                     95: extern int  d_to_s;                            /* inst converts dbl to sgl */
                     96: extern int  s_to_d;                            /* inst converts sgl to dbl */
                     97: extern int  sgl_op;                            /* inst has sgl operand(s)  */
                     98: extern int  force_sp;                          /* flag -set the Stack Ptr  */
                     99: extern int  min_shift;                         /* min # bytes to shift code */
                    100: extern int  inst_buf[];                                /* instruction code buffer  */
                    101: extern int  end_of_inst_buf;                   /* end address of code buff */
                    102: extern int  code_addr;                         /* start of test code       */
                    103: extern int  addr_size;                         /* # bytes in addr specifier*/
                    104: extern int  addr_1;                            /* address specifier # 1    */
                    105: extern int  addr_2;                            /* address specifier # 2    */
                    106: extern int  shift_count;                       /* # bytes to shift inst_buf*/
                    107: extern int  no_page_faults;                    /* # addr translation faults*/
                    108: extern int  exp_page_faults;                   /* # addr trans faults exp'd*/
                    109: extern struct addd_data_t *data_ptr;           /* pointer to current data  */
                    110: extern int  (*test_ptr)();                     /* ptr to results test func */
                    111: 
                    112: /*
                    113:  * demand paging data definitions
                    114: */
                    115: extern int  os_b_op1;                          /* offset to byte operand 1 */
                    116: extern int  os_b_op2;                          /* offset to byte operand 2 */
                    117: extern int  os_op1;                            /* offset to operand # 1    */
                    118: extern int  os_op2;                            /* offset to operand # 2    */
                    119: extern int  os_ad_op1;                         /* offset to op. pointer #1 */
                    120: extern int  os_ad_op2;                         /* offset to op. pointer #2 */
                    121: extern int *adr_b_op1;                         /* ptr. to byte operand 1   */
                    122: extern int *adr_bop1_lsw;                      /* ptr. to byte op 1's LSW  */
                    123: extern int *adr_bop2_lsw;                      /* ptr. to byte op 2's LSW  */
                    124: extern int *adr_b_op2;                         /* ptr. to byte operand 2   */
                    125: extern int *adr_op1;                           /* ptr. to operand #1       */
                    126: extern int *adr_op2;                           /* ptr. to operand #2       */
                    127: extern int *adr_op1_lsw;                       /* ptr. to dbl op #1's LSW  */
                    128: extern int *adr_op2_lsw;                       /* ptr. to dbl op #2's LSW  */
                    129: extern int *adr_op1_ptr;                       /* ptr. to pointer to op #1 */
                    130: extern int *adr_op2_ptr;                       /* ptr. to pointer to op #2 */
                    131: 
                    132: /*
                    133:  * These definitions must agree with those in "diagnostics/INCLUDE"
                    134: */
                    135: #define        DMP_PG_0   0x36000
                    136: #define        DMP_PG_1   DMP_PG_0+0x400
                    137: #define        DMP_PG_2   DMP_PG_1+0x400
                    138: #define        DMP_PG_3   DMP_PG_2+0x400
                    139: #define        DMP_PG_4   DMP_PG_3+0x400
                    140: #define        DMP_PG_5   DMP_PG_4+0x400
                    141: #define DMP_PG_6   DMP_PG_5+0x400
                    142: #define DMP_PG_7   DMP_PG_6+0x400
                    143: 
                    144: #define        DMP_OP_1   DMP_PG_3-4           /* 1st data word      */
                    145: #define        DMP_OP_2   DMP_PG_7-4           /* 2nd data word      */

unix.superglobalmegacorp.com

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