Annotation of cci/d/dmp4/sched.c, revision 1.1.1.1

1.1       root        1: 
                      2: #include "dmp_defs.h"
                      3: 
                      4: 
                      5: 
                      6: /*************************************************************************
                      7: *
                      8: *   SCHEDULE THE ADDRESSING / DEMAND PAGING TESTS FOR AN INSTRUCTION
                      9: *
                     10: *************************************************************************/
                     11: sched_test( test_index )
                     12: int test_index;
                     13: {
                     14:        exp_event = FALSE;              /* clear event expected flag      */
                     15:        force_loop = FALSE;             /* clear the force a loop flag    */
                     16:        unexp_event_ret = FALSE;        /* clear unexpected event return  */
                     17: /*
                     18:  * get the information about this instruction 
                     19: */
                     20:        op_code    =   inst_tbl[ test_index ].inst_code;
                     21:        op_name    =   inst_tbl[ test_index ].name;
                     22:        precision  =   inst_tbl[ test_index ].precision;
                     23:        no_ops     =   inst_tbl[ test_index ].no_operands;
                     24:        op_type    =   inst_tbl[ test_index ].type;
                     25:        data_ptr   =   inst_tbl[ test_index ].data;
                     26:        test_ptr   =   inst_tbl[ test_index ].test_routine;
                     27:        max_index  =  *inst_tbl[ test_index ].no_patterns;
                     28: /*
                     29:  * if we're using the "no-fpp" wcs the instruction might be emulated
                     30: */
                     31:        if( no_fpp_wcs ) 
                     32:             emulated_inst = inst_tbl[ test_index ].emulation_flg;
                     33:        else 
                     34:             emulated_inst = FALSE;
                     35: /*
                     36:  * set the accumulator type flags based on the instruction type
                     37: */
                     38:        if( precision == SGL ) {
                     39:            acc_ld_size = SGL;          /* load a sgl operand  */
                     40:            acc_st_size = SGL;          /* store a sgl operand */
                     41:        } else {
                     42:            acc_ld_size = DBL;          /* load a dbl operand  */
                     43:            acc_st_size = DBL;          /* store a dbl operand */
                     44:        }
                     45:        if( op_code == CVDF_OP_CODE )
                     46:            acc_st_size = SGL;          /* store a sgl operand */
                     47: /*
                     48:  * set the operand type flags based on the instruction type
                     49: */
                     50:        if( (op_code == LDFD_OP_CODE) ||
                     51:            (op_code == CVLD_OP_CODE) )
                     52:             s_to_d = TRUE;             /* set sgl-to-dbl conversion flag */
                     53:         else
                     54:             s_to_d = FALSE;            /* reset sgl-to-dbl conversion flag */
                     55:        if( op_code == CVDL_OP_CODE )
                     56:             d_to_s = TRUE;             /* set dbl-to-sgl conversion flag */
                     57:         else
                     58:             d_to_s = FALSE;            /* reset dbl-to-sgl conversion flag */
                     59:        if( s_to_d || d_to_s || (precision == SGL) )
                     60:               sgl_op = TRUE;           /* set sgl-operand flag */
                     61:         else
                     62:               sgl_op = FALSE;          /* reset sgl-operand flag */
                     63: /*
                     64:  *  Now go out there and test 'em
                     65: */
                     66:        test_inst();                    /* test the instruction */
                     67: }
                     68: 
                     69: 
                     70: 

unix.superglobalmegacorp.com

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