Annotation of cci/d/memman/error_hdl.c, revision 1.1

1.1     ! root        1: #include "definitions"
        !             2: 
        !             3: extern long *p_ptr, exp_par0, exp_par1, exp_par2, exp_par3;
        !             4: char *Tname = "\n";            /* PTR to test name */
        !             5: 
        !             6: chk_pars(msg1)
        !             7: char *msg1;
        !             8: {      char *msg2;
        !             9:        long *pcb_base, act_param;
        !            10: 
        !            11:        /* Check fault parameter words  */
        !            12:        act_param = *p_ptr++;
        !            13:        if (exp_par0 != act_param)
        !            14:                { msg2="** fault indicator (1st word) is not as expected !!\n"; 
        !            15:                  pverr_handler(msg1,msg2,exp_par0,act_param); }
        !            16:        act_param = *p_ptr++;
        !            17:        if (exp_par1 != act_param)
        !            18:                { msg2="** virtual addr in 2nd parameter is not as expected\n"; 
        !            19:                  pverr_handler(msg1,msg2,exp_par1,act_param); }
        !            20:        act_param = *p_ptr++;
        !            21:        if (exp_par2 != act_param)
        !            22:                { msg2="** PC in 3rd parameter word is not as expected\n"; 
        !            23:                  pverr_handler(msg1,msg2,exp_par2,act_param); }
        !            24:        act_param = (*p_ptr) & 0xffffffc0;  /* Mask out PSW flags */
        !            25:        if (exp_par3 != act_param)
        !            26:                { msg2="** PSL in 4th parameter word is not as expected \n"; 
        !            27:                  pverr_handler(msg1,msg2,exp_par3,act_param); }
        !            28: 
        !            29: }
        !            30: 
        !            31: pverr_handler(msg1,msg2,exp,act)
        !            32: char *msg1, *msg2;
        !            33: long exp, act;
        !            34: {      
        !            35: 
        !            36:        writes(Tname);
        !            37:        writes(msg1); writec('\n'); writes(msg2); writec('\n');
        !            38:        writes("** Expected data : "); writeh(exp); writec('\n');
        !            39:        writes("** Actual data   : "); writeh(act); writec('\n');
        !            40:        asm("halt");
        !            41: }
        !            42: 
        !            43: 
        !            44: 
        !            45: print_params()
        !            46: {      
        !            47:        long *param_ptr;
        !            48: 
        !            49:        param_ptr = p_ptr;
        !            50:        writes("        Parameter 1 : "); writeh(*param_ptr++); writec('\n');
        !            51:        writes("        Parameter 2 : "); writeh(*param_ptr++); writec('\n');
        !            52:        writes("        Parameter 3 : "); writeh(*param_ptr++); writec('\n');
        !            53:        writes("        Parameter 4 : "); writeh(*param_ptr); writec('\n');
        !            54:        asm("halt");
        !            55: }
        !            56: 
        !            57: 
        !            58: 
        !            59: 

unix.superglobalmegacorp.com

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