sim: bfin: import testsuite
[deliverable/binutils-gdb.git] / sim / testsuite / sim / bfin / se_loop_ppm_int.S
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 /////////////////////////////////////////////////////////////////////////////
This page took 0.039287 seconds and 4 git commands to generate.