|
|
1.1 ! root 1: 1 00000000 LL0: ! 2: 2 00000000 .data ! 3: 3 00000158 * .text ! 4: 4 00000000 .align 1 ! 5: 5 00000000 .globl _pipeline_test ! 6: 6 00000000 _pipeline_test: ! 7: 7 0000F1F4 0000 .word L381 ! 8: 8 0000F1F6 # ! 9: 9 0000F1F6 # #include "evt_defs.h" ! 10: 10 0000F1F6 # ! 11: 11 0000F1F6 # ! 12: 12 0000F1F6 # /* ! 13: 13 0000F1F6 # ******************************************************************** ! 14: 14 0000F1F6 # * ! 15: 15 0000F1F6 # * MONITOR FOR THE FPP PIPELINED EVENTS TEST ! 16: 16 0000F1F6 # * ! 17: 17 0000F1F6 # * If evt_inst is non-zero, run the test that it specifies, otherwise ! 18: 18 0000F1F6 # * run all of the pipelined tests. If the print headers option is ! 19: 19 0000F1F6 # * set then print the names of the tests as they are run: ! 20: 20 0000F1F6 # * Piped Events Tests: pipe1 pipd2 pipe3 pipe4 pipe5 pipe6 pipe7 pipe8 ! 21: 21 0000F1F6 # * pipe9 pipd10 pipe11 pipe12 pipe13 pipe14 pipe15 ! 22: 22 0000F1F6 # ******************************************************************** ! 23: 23 0000F1F6 # */ ! 24: 24 0000F1F6 # pipeline_test() ! 25: 25 0000F1F6 # { ! 26: 26 0000F1F6 13 014f jbr L383 ! 27: 27 0000F1F9 L384: ! 28: 28 0000F1F9 # if( evt_inst ) { /* was the test specified? */ ! 29: 29 0000F1F9 5d effffffff5 tstl _evt_inst ! 30: 30 0000F1FF 21 03 13 00b4 jeql L385 ! 31: 31 0000F204 # inst_index = evt_inst - 1; /* get '0' based subtest # */ ! 32: 32 0000F204 3c 01 efffffffe9 50 subl3 $1,_evt_inst,r0 ! 33: 33 0000F20C 0d 50 efffffffe1 movl r0,_inst_index ! 34: 34 0000F213 # subtest = evt_inst; /* get '1' based subtest # */ ! 35: 35 0000F213 0d efffffffdb efffffffd6 movl _evt_inst,_subtest ! 36: 36 0000F21E # if( (inst_index < 0) || (inst_index >= no_pipe_tests) ) { ! 37: 37 0000F21E 5d efffffffd0 tstl _inst_index ! 38: 38 0000F224 91 0d jlss L9999 ! 39: 39 0000F226 1d efffffffc8 efffffffc3 cmpl _inst_index,_no_pipe_tests ! 40: 40 0000F231 91 3d jlss L386 ! 41: 41 0000F233 L9999: ! 42: 42 0000F233 # if( (prt_hdrs) && (cycle == 1) ) { /* not a valid instr */ ! 43: 43 0000F233 5d efffffffbb tstl _prt_hdrs ! 44: 44 0000F239 31 33 jeql L387 ! 45: 45 0000F23B 1d efffffffb3 01 cmpl _cycle,$1 ! 46: 46 0000F242 21 2a jneq L387 ! 47: 47 0000F244 # writes("There is no pipeline test #"); ! 48: 48 0000F244 .data 1 ! 49: 49 00000158 * L389: ! 50: 50 00000158 * 5468657265206973206E6F207 .ascii "There is no pipeline test #\0" ! 51: 06970656C696E652074657374 ! 52: 202300 ! 53: 51 00000174 * .text ! 54: 52 0000F244 dd 8f00000158 pushl $L389 ! 55: 53 0000F24A fe 08 efffffffa3 callf $8,_writes ! 56: 54 0000F251 # writed( evt_inst ); ! 57: 55 0000F251 dd efffffff9d pushl _evt_inst ! 58: 56 0000F257 fe 08 efffffff96 callf $8,_writed ! 59: 57 0000F25E # writec('\n'); ! 60: 58 0000F25E dd 0a pushl $10 ! 61: 59 0000F260 fe 08 efffffff8d callf $8,_writec ! 62: 60 0000F267 # error = TRUE; /* needed for line feed control */ ! 63: 61 0000F267 0d 01 efffffff86 movl $1,_error ! 64: 62 0000F26E # } ! 65: 63 0000F26E # } else { ! 66: 64 0000F26E L387: ! 67: 65 0000F26E 11 45 jbr L392 ! 68: 66 0000F270 L386: ! 69: 67 0000F270 # valid_test = TRUE; /* a test is being run */ ! 70: 68 0000F270 0d 01 efffffff7d movl $1,_valid_test ! 71: 69 0000F277 # if( (prt_hdrs) && (cycle == 1) ) ! 72: 70 0000F277 5d efffffff77 tstl _prt_hdrs ! 73: 71 0000F27D 31 21 jeql L393 ! 74: 72 0000F27F 1d efffffff6f 01 cmpl _cycle,$1 ! 75: 73 0000F286 21 18 jneq L393 ! 76: 74 0000F288 # writes( pipe_test_tbl[inst_index].name ); ! 77: 75 0000F288 0d efffffff66 50 movl _inst_index,r0 ! 78: 76 0000F28F 48 03 50 50 shll $3,r0,r0 ! 79: 77 0000F293 dd e000000004 pushl _pipe_test_tbl+4(r0) ! 80: 78 0000F299 fe 08 efffffff54 callf $8,_writes ! 81: 79 0000F2A0 # (*pipe_test_tbl[inst_index].test)(); /* run the test */ ! 82: 80 0000F2A0 L393: ! 83: 81 0000F2A0 0d efffffff4e 50 movl _inst_index,r0 ! 84: 82 0000F2A7 48 03 50 50 shll $3,r0,r0 ! 85: 83 0000F2AB 0d e000000000 50 movl _pipe_test_tbl(r0),r0 ! 86: 84 0000F2B2 bf 04 60 calls $4,(r0) ! 87: 85 0000F2B5 # } ! 88: 86 0000F2B5 L392: ! 89: 87 0000F2B5 # } else /* the test # wasn't specfied */ ! 90: 88 0000F2B5 13 008f jbr L394 ! 91: 89 0000F2B8 L385: ! 92: 90 0000F2B8 # for(inst_index=0; inst_index < no_pipe_tests; inst_index++) { ! 93: 91 0000F2B8 4d efffffff36 clrl _inst_index ! 94: 92 0000F2BE L397: ! 95: 93 0000F2BE 1d efffffff30 efffffff2b cmpl _inst_index,_no_pipe_tests ! 96: 94 0000F2C9 81 7c jgeq L396 ! 97: 95 0000F2CB # if( (prt_hdrs) && (cycle == 1) ) { ! 98: 96 0000F2CB 5d efffffff23 tstl _prt_hdrs ! 99: 97 0000F2D1 31 40 jeql L398 ! 100: 98 0000F2D3 1d efffffff1b 01 cmpl _cycle,$1 ! 101: 99 0000F2DA 21 37 jneq L398 ! 102: 100 0000F2DC # if( (inst_index == 8) || ! 103: 101 0000F2DC # (inst_index == 16) ) ! 104: 102 0000F2DC 1d efffffff12 08 cmpl _inst_index,$8 ! 105: 103 0000F2E3 31 09 jeql L9998 ! 106: 104 0000F2E5 1d efffffff09 10 cmpl _inst_index,$16 ! 107: 105 0000F2EC 21 0d jneq L399 ! 108: 106 0000F2EE L9998: ! 109: 107 0000F2EE # writes("\n "); ! 110: 108 0000F2EE .data 1 ! 111: 109 00000174 * L400: ! 112: 110 00000174 * 0A20202020202020202020202 .ascii "\12 \0" ! 113: 0202020202020202020202000 ! 114: 111 0000018d * .text ! 115: 112 0000F2EE dd 8f00000174 pushl $L400 ! 116: 113 0000F2F4 fe 08 effffffef9 callf $8,_writes ! 117: 114 0000F2FB # writes( pipe_test_tbl[inst_index].name ); ! 118: 115 0000F2FB L399: ! 119: 116 0000F2FB 0d effffffef3 50 movl _inst_index,r0 ! 120: 117 0000F302 48 03 50 50 shll $3,r0,r0 ! 121: 118 0000F306 dd e000000004 pushl _pipe_test_tbl+4(r0) ! 122: 119 0000F30C fe 08 effffffee1 callf $8,_writes ! 123: 120 0000F313 # } ! 124: 121 0000F313 # valid_test = TRUE; /* a test is being run */ ! 125: 122 0000F313 L398: ! 126: 123 0000F313 0d 01 effffffeda movl $1,_valid_test ! 127: 124 0000F31A # subtest = inst_index+1; /* get '1' based subtest # */ ! 128: 125 0000F31A 1c 01 effffffed3 50 addl3 $1,_inst_index,r0 ! 129: 126 0000F322 0d 50 effffffecb movl r0,_subtest ! 130: 127 0000F329 # (*pipe_test_tbl[inst_index].test)(); /* run the test */ ! 131: 128 0000F329 0d effffffec5 50 movl _inst_index,r0 ! 132: 129 0000F330 48 03 50 50 shll $3,r0,r0 ! 133: 130 0000F334 0d e000000000 50 movl _pipe_test_tbl(r0),r0 ! 134: 131 0000F33B bf 04 60 calls $4,(r0) ! 135: 132 0000F33E # } ! 136: 133 0000F33E L395: ! 137: 134 0000F33E 6d effffffeb0 incl _inst_index ! 138: 135 0000F344 13 ff77 jbr L397 ! 139: 136 0000F347 L396: ! 140: 137 0000F347 L394: ! 141: 138 0000F347 # } ! 142: 139 0000F347 40 ret#2 ! 143: 140 0000F348 .set L381,0x0 ! 144: 141 0000F348 L383: ! 145: 142 0000F348 13 feae jbr L384 ! 146: 143 0000F34B .data ! 147: 144 00000158 * # ! 148: 144 00000158 * #
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.