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