|
|
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.