]>
Commit | Line | Data |
---|---|---|
1d7b4a70 MF |
1 | //Original:/proj/frio/dv/testcases/seq/se_loop_ppm_int/se_loop_ppm_int.dsp |
2 | # mach: bfin | |
3 | # sim: --environment operating | |
4 | ||
5 | #include "test.h" | |
6 | .include "testutils.inc" | |
7 | start | |
8 | ||
9 | ///////////////////////////////////////////////////////////////////////////// | |
10 | ///////////////////////// Include Files ///////////////////////////// | |
11 | ///////////////////////////////////////////////////////////////////////////// | |
12 | ||
13 | include(std.inc) | |
14 | include(selfcheck.inc) | |
15 | include(symtable.inc) | |
16 | include(mmrs.inc) | |
17 | ||
18 | ///////////////////////////////////////////////////////////////////////////// | |
19 | ///////////////////////// Defines ///////////////////////////// | |
20 | ///////////////////////////////////////////////////////////////////////////// | |
21 | ||
22 | #ifndef USER_CODE_SPACE | |
23 | #define USER_CODE_SPACE CODE_ADDR_1 // | |
24 | #endif | |
25 | #ifndef STACKSIZE | |
26 | #define STACKSIZE 0x00000010 | |
27 | #endif | |
28 | #ifndef ITABLE | |
29 | #define ITABLE CODE_ADDR_2 // | |
30 | #endif | |
31 | ||
32 | ///////////////////////////////////////////////////////////////////////////// | |
33 | ///////////////////////// RESET ISR ///////////////////////////// | |
34 | ///////////////////////////////////////////////////////////////////////////// | |
35 | ||
36 | RST_ISR : | |
37 | ||
38 | // Initialize Dregs | |
39 | INIT_R_REGS(0); | |
40 | ||
41 | // Initialize Pregs | |
42 | INIT_P_REGS(0); | |
43 | ||
44 | // Initialize ILBM Registers | |
45 | INIT_I_REGS(0); | |
46 | INIT_M_REGS(0); | |
47 | INIT_L_REGS(0); | |
48 | INIT_B_REGS(0); | |
49 | ||
50 | // Initialize the Address of the Checkreg data segment | |
51 | // **** THIS IS NEEDED WHENEVER CHECKREG IS USED **** | |
52 | CHECK_INIT_DEF(p5); //CHECK_INIT(p5, 0x00BFFFFC); | |
53 | ||
54 | // Setup User Stack | |
55 | LD32_LABEL(sp, USTACK); | |
56 | USP = SP; | |
57 | ||
58 | // Setup Kernel Stack | |
59 | LD32_LABEL(sp, KSTACK); | |
60 | ||
61 | // Setup Frame Pointer | |
62 | FP = SP; | |
63 | ||
64 | // Setup Event Vector Table | |
65 | LD32(p0, EVT0); | |
66 | ||
67 | LD32_LABEL(r0, EMU_ISR); // Emulation Handler (Int0) | |
68 | [ P0 ++ ] = R0; | |
69 | LD32_LABEL(r0, RST_ISR); // Reset Handler (Int1) | |
70 | [ P0 ++ ] = R0; | |
71 | LD32_LABEL(r0, NMI_ISR); // NMI Handler (Int2) | |
72 | [ P0 ++ ] = R0; | |
73 | LD32_LABEL(r0, EXC_ISR); // Exception Handler (Int3) | |
74 | [ P0 ++ ] = R0; | |
75 | [ P0 ++ ] = R0; // IVT4 not used | |
76 | LD32_LABEL(r0, HWE_ISR); // HW Error Handler (Int5) | |
77 | [ P0 ++ ] = R0; | |
78 | LD32_LABEL(r0, TMR_ISR); // Timer Handler (Int6) | |
79 | [ P0 ++ ] = R0; | |
80 | LD32_LABEL(r0, IGV7_ISR); // IVG7 Handler | |
81 | [ P0 ++ ] = R0; | |
82 | LD32_LABEL(r0, IGV8_ISR); // IVG8 Handler | |
83 | [ P0 ++ ] = R0; | |
84 | LD32_LABEL(r0, IGV9_ISR); // IVG9 Handler | |
85 | [ P0 ++ ] = R0; | |
86 | LD32_LABEL(r0, IGV10_ISR); // IVG10 Handler | |
87 | [ P0 ++ ] = R0; | |
88 | LD32_LABEL(r0, IGV11_ISR); // IVG11 Handler | |
89 | [ P0 ++ ] = R0; | |
90 | LD32_LABEL(r0, IGV12_ISR); // IVG12 Handler | |
91 | [ P0 ++ ] = R0; | |
92 | LD32_LABEL(r0, IGV13_ISR); // IVG13 Handler | |
93 | [ P0 ++ ] = R0; | |
94 | LD32_LABEL(r0, IGV14_ISR); // IVG14 Handler | |
95 | [ P0 ++ ] = R0; | |
96 | LD32_LABEL(r0, IGV15_ISR); // IVG15 Handler | |
97 | [ P0 ++ ] = R0; | |
98 | ||
99 | // Setup the EVT_OVERRIDE MMR | |
100 | R0 = 0; | |
101 | LD32(p0, EVT_OVERRIDE); | |
102 | [ P0 ] = R0; | |
103 | ||
104 | // Setup Interrupt Mask | |
105 | R0 = -1; | |
106 | LD32(p0, IMASK); | |
107 | [ P0 ] = R0; | |
108 | ||
109 | // Sync it! | |
110 | CSYNC; | |
111 | ||
112 | LD32_LABEL(r0, USER_CODE); | |
113 | RETI = R0; | |
114 | RTI; | |
115 | ||
116 | .dw 0xFFFF | |
117 | .dw 0xFFFF | |
118 | .dw 0xFFFF | |
119 | .dw 0xFFFF | |
120 | .dw 0xFFFF | |
121 | .dw 0xFFFF | |
122 | .dw 0xFFFF | |
123 | ||
124 | ///////////////////////////////////////////////////////////////////////////// | |
125 | ||
126 | ||
127 | ///////////////////////////////////////////////////////////////////////////// | |
128 | ///////////////////////// EMU ISR ///////////////////////////// | |
129 | ///////////////////////////////////////////////////////////////////////////// | |
130 | ||
131 | EMU_ISR : | |
132 | ||
133 | RTE; | |
134 | ||
135 | .dw 0xFFFF | |
136 | .dw 0xFFFF | |
137 | .dw 0xFFFF | |
138 | .dw 0xFFFF | |
139 | .dw 0xFFFF | |
140 | .dw 0xFFFF | |
141 | .dw 0xFFFF | |
142 | ||
143 | ///////////////////////////////////////////////////////////////////////////// | |
144 | ///////////////////////// NMI ISR ///////////////////////////// | |
145 | ///////////////////////////////////////////////////////////////////////////// | |
146 | ||
147 | NMI_ISR : | |
148 | ||
149 | RTN; | |
150 | ||
151 | .dw 0xFFFF | |
152 | .dw 0xFFFF | |
153 | .dw 0xFFFF | |
154 | .dw 0xFFFF | |
155 | .dw 0xFFFF | |
156 | .dw 0xFFFF | |
157 | .dw 0xFFFF | |
158 | ||
159 | ///////////////////////////////////////////////////////////////////////////// | |
160 | ///////////////////////// EXC ISR ///////////////////////////// | |
161 | ///////////////////////////////////////////////////////////////////////////// | |
162 | ||
163 | EXC_ISR : | |
164 | ||
165 | RTX; | |
166 | ||
167 | .dw 0xFFFF | |
168 | .dw 0xFFFF | |
169 | .dw 0xFFFF | |
170 | .dw 0xFFFF | |
171 | .dw 0xFFFF | |
172 | .dw 0xFFFF | |
173 | .dw 0xFFFF | |
174 | ||
175 | ///////////////////////////////////////////////////////////////////////////// | |
176 | ///////////////////////// HWE ISR ///////////////////////////// | |
177 | ///////////////////////////////////////////////////////////////////////////// | |
178 | ||
179 | HWE_ISR : | |
180 | ||
181 | RTI; | |
182 | ||
183 | .dw 0xFFFF | |
184 | .dw 0xFFFF | |
185 | .dw 0xFFFF | |
186 | .dw 0xFFFF | |
187 | .dw 0xFFFF | |
188 | .dw 0xFFFF | |
189 | .dw 0xFFFF | |
190 | ||
191 | ///////////////////////////////////////////////////////////////////////////// | |
192 | ///////////////////////// TMR ISR ///////////////////////////// | |
193 | ///////////////////////////////////////////////////////////////////////////// | |
194 | ||
195 | TMR_ISR : | |
196 | ||
197 | RTI; | |
198 | ||
199 | .dw 0xFFFF | |
200 | .dw 0xFFFF | |
201 | .dw 0xFFFF | |
202 | .dw 0xFFFF | |
203 | .dw 0xFFFF | |
204 | .dw 0xFFFF | |
205 | .dw 0xFFFF | |
206 | ||
207 | ///////////////////////////////////////////////////////////////////////////// | |
208 | ///////////////////////// IGV7 ISR ///////////////////////////// | |
209 | ///////////////////////////////////////////////////////////////////////////// | |
210 | ||
211 | IGV7_ISR : | |
212 | ||
213 | RTI; | |
214 | ||
215 | .dw 0xFFFF | |
216 | .dw 0xFFFF | |
217 | .dw 0xFFFF | |
218 | .dw 0xFFFF | |
219 | .dw 0xFFFF | |
220 | .dw 0xFFFF | |
221 | .dw 0xFFFF | |
222 | ||
223 | ///////////////////////////////////////////////////////////////////////////// | |
224 | ///////////////////////// IGV8 ISR ///////////////////////////// | |
225 | ///////////////////////////////////////////////////////////////////////////// | |
226 | ||
227 | IGV8_ISR : | |
228 | ||
229 | RTI; | |
230 | ||
231 | .dw 0xFFFF | |
232 | .dw 0xFFFF | |
233 | .dw 0xFFFF | |
234 | .dw 0xFFFF | |
235 | .dw 0xFFFF | |
236 | .dw 0xFFFF | |
237 | .dw 0xFFFF | |
238 | ||
239 | ///////////////////////////////////////////////////////////////////////////// | |
240 | ///////////////////////// IGV9 ISR ///////////////////////////// | |
241 | ///////////////////////////////////////////////////////////////////////////// | |
242 | ||
243 | IGV9_ISR : | |
244 | ||
245 | RTI; | |
246 | ||
247 | .dw 0xFFFF | |
248 | .dw 0xFFFF | |
249 | .dw 0xFFFF | |
250 | .dw 0xFFFF | |
251 | .dw 0xFFFF | |
252 | .dw 0xFFFF | |
253 | .dw 0xFFFF | |
254 | ||
255 | ///////////////////////////////////////////////////////////////////////////// | |
256 | ///////////////////////// IGV10 ISR ///////////////////////////// | |
257 | ///////////////////////////////////////////////////////////////////////////// | |
258 | ||
259 | IGV10_ISR : | |
260 | ||
261 | RTI; | |
262 | ||
263 | .dw 0xFFFF | |
264 | .dw 0xFFFF | |
265 | .dw 0xFFFF | |
266 | .dw 0xFFFF | |
267 | .dw 0xFFFF | |
268 | .dw 0xFFFF | |
269 | .dw 0xFFFF | |
270 | ||
271 | ///////////////////////////////////////////////////////////////////////////// | |
272 | ///////////////////////// IGV11 ISR ///////////////////////////// | |
273 | ///////////////////////////////////////////////////////////////////////////// | |
274 | ||
275 | IGV11_ISR : | |
276 | ||
277 | RTI; | |
278 | ||
279 | .dw 0xFFFF | |
280 | .dw 0xFFFF | |
281 | .dw 0xFFFF | |
282 | .dw 0xFFFF | |
283 | .dw 0xFFFF | |
284 | .dw 0xFFFF | |
285 | .dw 0xFFFF | |
286 | ||
287 | ///////////////////////////////////////////////////////////////////////////// | |
288 | ///////////////////////// IGV12 ISR ///////////////////////////// | |
289 | ///////////////////////////////////////////////////////////////////////////// | |
290 | ||
291 | IGV12_ISR : | |
292 | ||
293 | RTI; | |
294 | ||
295 | .dw 0xFFFF | |
296 | .dw 0xFFFF | |
297 | .dw 0xFFFF | |
298 | .dw 0xFFFF | |
299 | .dw 0xFFFF | |
300 | .dw 0xFFFF | |
301 | .dw 0xFFFF | |
302 | ||
303 | ///////////////////////////////////////////////////////////////////////////// | |
304 | ///////////////////////// IGV13 ISR ///////////////////////////// | |
305 | ///////////////////////////////////////////////////////////////////////////// | |
306 | ||
307 | IGV13_ISR : | |
308 | ||
309 | RTI; | |
310 | ||
311 | .dw 0xFFFF | |
312 | .dw 0xFFFF | |
313 | .dw 0xFFFF | |
314 | .dw 0xFFFF | |
315 | .dw 0xFFFF | |
316 | .dw 0xFFFF | |
317 | .dw 0xFFFF | |
318 | ||
319 | ///////////////////////////////////////////////////////////////////////////// | |
320 | ///////////////////////// IGV14 ISR ///////////////////////////// | |
321 | ///////////////////////////////////////////////////////////////////////////// | |
322 | ||
323 | IGV14_ISR : | |
324 | ||
325 | RTI; | |
326 | ||
327 | .dw 0xFFFF | |
328 | .dw 0xFFFF | |
329 | .dw 0xFFFF | |
330 | .dw 0xFFFF | |
331 | .dw 0xFFFF | |
332 | .dw 0xFFFF | |
333 | .dw 0xFFFF | |
334 | ||
335 | ///////////////////////////////////////////////////////////////////////////// | |
336 | ///////////////////////// IGV15 ISR ///////////////////////////// | |
337 | ///////////////////////////////////////////////////////////////////////////// | |
338 | ||
339 | IGV15_ISR : | |
340 | ||
341 | RTI; | |
342 | ||
343 | .dw 0xFFFF | |
344 | .dw 0xFFFF | |
345 | .dw 0xFFFF | |
346 | .dw 0xFFFF | |
347 | .dw 0xFFFF | |
348 | .dw 0xFFFF | |
349 | .dw 0xFFFF | |
350 | ||
351 | ///////////////////////////////////////////////////////////////////////////// | |
352 | ///////////////////////// USER CODE ///////////////////////////// | |
353 | ///////////////////////////////////////////////////////////////////////////// | |
354 | ||
355 | ||
356 | USER_CODE : | |
357 | ||
358 | NOP;NOP;NOP;NOP; | |
359 | NOP;NOP;NOP;NOP; | |
360 | NOP;NOP;NOP;NOP; | |
361 | NOP;NOP;NOP;NOP; | |
362 | ||
363 | P0 = 0x5 (Z); | |
364 | ||
365 | LSETUP ( l0s , l0s ) LC0 = P0; | |
366 | CSYNC; | |
367 | l0s:[ -- SP ] = ( R7:5 ); | |
368 | ||
369 | LSETUP ( l3s , l3e ) LC0 = P0; | |
370 | l3s:[ -- SP ] = ( R7:5 ); | |
371 | R6 += 2; | |
372 | R7 += 3; | |
373 | NOP; | |
374 | ||
375 | CSYNC; | |
376 | NOP; | |
377 | NOP; | |
378 | NOP; | |
379 | l3e:R5 += 1; | |
380 | ||
381 | NOP; | |
382 | ||
383 | LSETUP ( m0s , m0s ) LC1 = P0; | |
384 | CSYNC; | |
385 | m0s:[ -- SP ] = ( R7:5 ); | |
386 | ||
387 | LSETUP ( m3s , m3e ) LC1 = P0; | |
388 | m3s:[ -- SP ] = ( R7:5 ); | |
389 | R6 += 2; | |
390 | R7 += 3; | |
391 | NOP; | |
392 | ||
393 | CSYNC; | |
394 | NOP; | |
395 | NOP; | |
396 | NOP; | |
397 | m3e:R5 += 1; | |
398 | ||
399 | NOP; | |
400 | NOP; | |
401 | NOP; | |
402 | NOP; | |
403 | NOP; | |
404 | NOP; | |
405 | dbg_pass; // Call Endtest Macro | |
406 | ||
407 | ///////////////////////////////////////////////////////////////////////////// | |
408 | ///////////////////////// DATA MEMRORY ///////////////////////////// | |
409 | ///////////////////////////////////////////////////////////////////////////// | |
410 | ||
411 | .section MEM_DATA_ADDR_1 //.data 0x00F00100,"aw" | |
412 | .dd 0xdeadbeef; | |
413 | .section MEM_(DATA_ADDR_1 + 0x100) //.data 0x00F00200,"aw" | |
414 | .dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >> | |
415 | .dd 0x02020202; | |
416 | .dd 0x03030303; | |
417 | .dd 0x04040404; | |
418 | ||
419 | // Define Kernal Stack | |
420 | .data | |
421 | .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >> | |
422 | KSTACK : | |
423 | ||
424 | .space (STACKSIZE); | |
425 | USTACK : | |
426 | ||
427 | ///////////////////////////////////////////////////////////////////////////// | |
428 | ///////////////////////// END OF TEST ///////////////////////////// | |
429 | ///////////////////////////////////////////////////////////////////////////// |