]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/testsuite/sim/bfin/se_loop_ppm_int.S
daily update
[thirdparty/binutils-gdb.git] / sim / testsuite / sim / bfin / se_loop_ppm_int.S
CommitLineData
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"
7start
8
9/////////////////////////////////////////////////////////////////////////////
10///////////////////////// Include Files /////////////////////////////
11/////////////////////////////////////////////////////////////////////////////
12
13include(std.inc)
14include(selfcheck.inc)
15include(symtable.inc)
16include(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
39INIT_R_REGS(0);
40
41 // Initialize Pregs
42INIT_P_REGS(0);
43
44 // Initialize ILBM Registers
45INIT_I_REGS(0);
46INIT_M_REGS(0);
47INIT_L_REGS(0);
48INIT_B_REGS(0);
49
50 // Initialize the Address of the Checkreg data segment
51 // **** THIS IS NEEDED WHENEVER CHECKREG IS USED ****
52CHECK_INIT_DEF(p5); //CHECK_INIT(p5, 0x00BFFFFC);
53
54 // Setup User Stack
55LD32_LABEL(sp, USTACK);
56USP = SP;
57
58 // Setup Kernel Stack
59LD32_LABEL(sp, KSTACK);
60
61 // Setup Frame Pointer
62FP = SP;
63
64 // Setup Event Vector Table
65LD32(p0, EVT0);
66
67LD32_LABEL(r0, EMU_ISR); // Emulation Handler (Int0)
68 [ P0 ++ ] = R0;
69LD32_LABEL(r0, RST_ISR); // Reset Handler (Int1)
70 [ P0 ++ ] = R0;
71LD32_LABEL(r0, NMI_ISR); // NMI Handler (Int2)
72 [ P0 ++ ] = R0;
73LD32_LABEL(r0, EXC_ISR); // Exception Handler (Int3)
74 [ P0 ++ ] = R0;
75 [ P0 ++ ] = R0; // IVT4 not used
76LD32_LABEL(r0, HWE_ISR); // HW Error Handler (Int5)
77 [ P0 ++ ] = R0;
78LD32_LABEL(r0, TMR_ISR); // Timer Handler (Int6)
79 [ P0 ++ ] = R0;
80LD32_LABEL(r0, IGV7_ISR); // IVG7 Handler
81 [ P0 ++ ] = R0;
82LD32_LABEL(r0, IGV8_ISR); // IVG8 Handler
83 [ P0 ++ ] = R0;
84LD32_LABEL(r0, IGV9_ISR); // IVG9 Handler
85 [ P0 ++ ] = R0;
86LD32_LABEL(r0, IGV10_ISR); // IVG10 Handler
87 [ P0 ++ ] = R0;
88LD32_LABEL(r0, IGV11_ISR); // IVG11 Handler
89 [ P0 ++ ] = R0;
90LD32_LABEL(r0, IGV12_ISR); // IVG12 Handler
91 [ P0 ++ ] = R0;
92LD32_LABEL(r0, IGV13_ISR); // IVG13 Handler
93 [ P0 ++ ] = R0;
94LD32_LABEL(r0, IGV14_ISR); // IVG14 Handler
95 [ P0 ++ ] = R0;
96LD32_LABEL(r0, IGV15_ISR); // IVG15 Handler
97 [ P0 ++ ] = R0;
98
99 // Setup the EVT_OVERRIDE MMR
100 R0 = 0;
101LD32(p0, EVT_OVERRIDE);
102 [ P0 ] = R0;
103
104 // Setup Interrupt Mask
105 R0 = -1;
106LD32(p0, IMASK);
107 [ P0 ] = R0;
108
109 // Sync it!
110CSYNC;
111
112LD32_LABEL(r0, USER_CODE);
113RETI = R0;
114RTI;
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
133RTE;
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
149RTN;
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
165RTX;
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
181RTI;
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
197RTI;
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
213RTI;
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
229RTI;
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
245RTI;
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
261RTI;
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
277RTI;
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
293RTI;
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
309RTI;
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
325RTI;
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
341RTI;
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
358NOP;NOP;NOP;NOP;
359NOP;NOP;NOP;NOP;
360NOP;NOP;NOP;NOP;
361NOP;NOP;NOP;NOP;
362
363 P0 = 0x5 (Z);
364
365LSETUP ( l0s , l0s ) LC0 = P0;
366CSYNC;
367l0s:[ -- SP ] = ( R7:5 );
368
369LSETUP ( l3s , l3e ) LC0 = P0;
370l3s:[ -- SP ] = ( R7:5 );
371 R6 += 2;
372 R7 += 3;
373NOP;
374
375CSYNC;
376NOP;
377NOP;
378NOP;
379l3e:R5 += 1;
380
381NOP;
382
383LSETUP ( m0s , m0s ) LC1 = P0;
384CSYNC;
385m0s:[ -- SP ] = ( R7:5 );
386
387LSETUP ( m3s , m3e ) LC1 = P0;
388m3s:[ -- SP ] = ( R7:5 );
389 R6 += 2;
390 R7 += 3;
391NOP;
392
393CSYNC;
394NOP;
395NOP;
396NOP;
397m3e:R5 += 1;
398
399NOP;
400NOP;
401NOP;
402NOP;
403NOP;
404NOP;
405dbg_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/////////////////////////////////////////////////////////////////////////////