ld: Move the .note.build-id section to near the start of the memory map.
[binutils-gdb.git] / sim / testsuite / bfin / se_loop_ppm_1.S
blobdb8e2cafd002d8257ebfba589fe41d91604b8cae
1 //Original:/proj/frio/dv/testcases/seq/se_loop_ppm_1/se_loop_ppm_1.dsp
2 # mach: bfin
3 # sim: --environment operating
5 #include "test.h"
6 .include "testutils.inc"
7 start
9 /////////////////////////////////////////////////////////////////////////////
10 ///////////////////////// Include Files         /////////////////////////////
11 /////////////////////////////////////////////////////////////////////////////
13 include(std.inc)
14 include(selfcheck.inc)
15 include(symtable.inc)
16 include(mmrs.inc)
18 /////////////////////////////////////////////////////////////////////////////
19 ///////////////////////// Defines               /////////////////////////////
20 /////////////////////////////////////////////////////////////////////////////
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
32 /////////////////////////////////////////////////////////////////////////////
33 ///////////////////////// RESET ISR             /////////////////////////////
34 /////////////////////////////////////////////////////////////////////////////
36  RST_ISR :
38     // Initialize Dregs
39 INIT_R_REGS(0);
41     // Initialize Pregs
42 INIT_P_REGS(0);
44     // Initialize ILBM Registers
45 INIT_I_REGS(0);
46 INIT_M_REGS(0);
47 INIT_L_REGS(0);
48 INIT_B_REGS(0);
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);
54     // Setup User Stack
55 LD32_LABEL(sp, USTACK);
56 USP = SP;
58     // Setup Kernel Stack
59 LD32_LABEL(sp, KSTACK);
61     // Setup Frame Pointer
62 FP = SP;
64     // Setup Event Vector Table
65 LD32(p0, EVT0);
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;
99     // Setup the EVT_OVERRIDE MMR
100     R0 = 0;
101 LD32(p0, EVT_OVERRIDE);
102     [ P0 ] = R0;
104     // Setup Interrupt Mask
105     R0 = -1;
106 LD32(p0, IMASK);
107     [ P0 ] = R0;
109     // Return to Supervisor Code
110 RAISE 15;
111 NOP;
113 LD32_LABEL(r0, USER_CODE);
114 RETI = R0;
115 RTI;
117 .dw 0xFFFF
118 .dw 0xFFFF
119 .dw 0xFFFF
120 .dw 0xFFFF
121 .dw 0xFFFF
122 .dw 0xFFFF
123 .dw 0xFFFF
125 /////////////////////////////////////////////////////////////////////////////
128 /////////////////////////////////////////////////////////////////////////////
129 ///////////////////////// EMU ISR               /////////////////////////////
130 /////////////////////////////////////////////////////////////////////////////
132  EMU_ISR :
134 RTE;
136 .dw 0xFFFF
137 .dw 0xFFFF
138 .dw 0xFFFF
139 .dw 0xFFFF
140 .dw 0xFFFF
141 .dw 0xFFFF
142 .dw 0xFFFF
144 /////////////////////////////////////////////////////////////////////////////
145 ///////////////////////// NMI ISR               /////////////////////////////
146 /////////////////////////////////////////////////////////////////////////////
148  NMI_ISR :
150 RTN;
152 .dw 0xFFFF
153 .dw 0xFFFF
154 .dw 0xFFFF
155 .dw 0xFFFF
156 .dw 0xFFFF
157 .dw 0xFFFF
158 .dw 0xFFFF
160 /////////////////////////////////////////////////////////////////////////////
161 ///////////////////////// EXC ISR               /////////////////////////////
162 /////////////////////////////////////////////////////////////////////////////
164  EXC_ISR :
166 RTX;
168 .dw 0xFFFF
169 .dw 0xFFFF
170 .dw 0xFFFF
171 .dw 0xFFFF
172 .dw 0xFFFF
173 .dw 0xFFFF
174 .dw 0xFFFF
176 /////////////////////////////////////////////////////////////////////////////
177 ///////////////////////// HWE ISR               /////////////////////////////
178 /////////////////////////////////////////////////////////////////////////////
180  HWE_ISR :
182 RTI;
184 .dw 0xFFFF
185 .dw 0xFFFF
186 .dw 0xFFFF
187 .dw 0xFFFF
188 .dw 0xFFFF
189 .dw 0xFFFF
190 .dw 0xFFFF
192 /////////////////////////////////////////////////////////////////////////////
193 ///////////////////////// TMR ISR               /////////////////////////////
194 /////////////////////////////////////////////////////////////////////////////
196  TMR_ISR :
198 RTI;
200 .dw 0xFFFF
201 .dw 0xFFFF
202 .dw 0xFFFF
203 .dw 0xFFFF
204 .dw 0xFFFF
205 .dw 0xFFFF
206 .dw 0xFFFF
208 /////////////////////////////////////////////////////////////////////////////
209 ///////////////////////// IGV7 ISR              /////////////////////////////
210 /////////////////////////////////////////////////////////////////////////////
212  IGV7_ISR :
214 RTI;
216 .dw 0xFFFF
217 .dw 0xFFFF
218 .dw 0xFFFF
219 .dw 0xFFFF
220 .dw 0xFFFF
221 .dw 0xFFFF
222 .dw 0xFFFF
224 /////////////////////////////////////////////////////////////////////////////
225 ///////////////////////// IGV8 ISR              /////////////////////////////
226 /////////////////////////////////////////////////////////////////////////////
228  IGV8_ISR :
230 RTI;
232 .dw 0xFFFF
233 .dw 0xFFFF
234 .dw 0xFFFF
235 .dw 0xFFFF
236 .dw 0xFFFF
237 .dw 0xFFFF
238 .dw 0xFFFF
240 /////////////////////////////////////////////////////////////////////////////
241 ///////////////////////// IGV9 ISR              /////////////////////////////
242 /////////////////////////////////////////////////////////////////////////////
244  IGV9_ISR :
246 RTI;
248 .dw 0xFFFF
249 .dw 0xFFFF
250 .dw 0xFFFF
251 .dw 0xFFFF
252 .dw 0xFFFF
253 .dw 0xFFFF
254 .dw 0xFFFF
256 /////////////////////////////////////////////////////////////////////////////
257 ///////////////////////// IGV10 ISR             /////////////////////////////
258 /////////////////////////////////////////////////////////////////////////////
260  IGV10_ISR :
262 RTI;
264 .dw 0xFFFF
265 .dw 0xFFFF
266 .dw 0xFFFF
267 .dw 0xFFFF
268 .dw 0xFFFF
269 .dw 0xFFFF
270 .dw 0xFFFF
272 /////////////////////////////////////////////////////////////////////////////
273 ///////////////////////// IGV11 ISR             /////////////////////////////
274 /////////////////////////////////////////////////////////////////////////////
276  IGV11_ISR :
278 RTI;
280 .dw 0xFFFF
281 .dw 0xFFFF
282 .dw 0xFFFF
283 .dw 0xFFFF
284 .dw 0xFFFF
285 .dw 0xFFFF
286 .dw 0xFFFF
288 /////////////////////////////////////////////////////////////////////////////
289 ///////////////////////// IGV12 ISR             /////////////////////////////
290 /////////////////////////////////////////////////////////////////////////////
292  IGV12_ISR :
294 RTI;
296 .dw 0xFFFF
297 .dw 0xFFFF
298 .dw 0xFFFF
299 .dw 0xFFFF
300 .dw 0xFFFF
301 .dw 0xFFFF
302 .dw 0xFFFF
304 /////////////////////////////////////////////////////////////////////////////
305 ///////////////////////// IGV13 ISR             /////////////////////////////
306 /////////////////////////////////////////////////////////////////////////////
308  IGV13_ISR :
310 RTI;
312 .dw 0xFFFF
313 .dw 0xFFFF
314 .dw 0xFFFF
315 .dw 0xFFFF
316 .dw 0xFFFF
317 .dw 0xFFFF
318 .dw 0xFFFF
320 /////////////////////////////////////////////////////////////////////////////
321 ///////////////////////// IGV14 ISR             /////////////////////////////
322 /////////////////////////////////////////////////////////////////////////////
324  IGV14_ISR :
326 RTI;
328 .dw 0xFFFF
329 .dw 0xFFFF
330 .dw 0xFFFF
331 .dw 0xFFFF
332 .dw 0xFFFF
333 .dw 0xFFFF
334 .dw 0xFFFF
336 /////////////////////////////////////////////////////////////////////////////
337 ///////////////////////// IGV15 ISR             /////////////////////////////
338 /////////////////////////////////////////////////////////////////////////////
340  IGV15_ISR :
342     P0 = 0x5 (Z);
344 LSETUP ( l0s , l0s ) LC0 = P0;
345     R0 += 1;
346     R4 += 3;
347     R5 += 5;
348 l0s:[ -- SP ] = ( R7:5 );
350 LSETUP ( l1s , l1e ) LC0 = P0;
351     R0 += 1;
352     R4 += 3;
353     R5 += 5;
354 l1s:R5 += 1;
355 l1e:[ -- SP ] = ( R7:5 );
357 LSETUP ( l2s , l2e ) LC0 = P0;
358     R0 += 1;
359     R4 += 3;
360     R5 += 5;
361 l2s:R5 += 1;
362     R6 += 2;
363 l2e:[ -- SP ] = ( R7:5 );
365 LSETUP ( l3s , l3e ) LC0 = P0;
366     R0 += 1;
367     R4 += 3;
368     R5 += 5;
369 l3s:R5 += 1;
370     R6 += 2;
371     R7 += 3;
372 l3e:[ -- SP ] = ( R7:5 );
374 LSETUP ( l4s , l4e ) LC0 = P0;
375     R0 += 1;
376     R4 += 3;
377     R5 += 5;
378 l4s:R5 += 1;
379     R6 += 2;
380     R7 += 3;
381     R4 += 4;
382 l4e:[ -- SP ] = ( R7:4 );
384 LSETUP ( l5s , l5e ) LC0 = P0;
385     R0 += 1;
386     R4 += 3;
387     R5 += 5;
388 l5s:R5 += 1;
389     R6 += 2;
390     R7 += 3;
391     R4 += 4;
392     R5 += 3;
393 l5e:[ -- SP ] = ( R7:4 );
395 LSETUP ( l6s , l6e ) LC1 = P0;
396     R0 += 1;
397     R4 += 3;
398     R5 += 5;
399 l6s:R5 += 1;
400     R6 += 2;
401     R7 += 3;
402     R4 += 4;
403     R5 += 3;
404     R7 += 5;
405 l6e:[ -- SP ] = ( R7:4 );
407 NOP;
409 LSETUP ( m0s , m0s ) LC1 = P0;
410     R0 += 1;
411     R4 += 3;
412     R5 += 5;
413 m0s:[ -- SP ] = ( R7:5 );
415 LSETUP ( m1s , m1e ) LC1 = P0;
416     R0 += 1;
417     R4 += 3;
418     R5 += 5;
419 m1s:R5 += 1;
420 m1e:[ -- SP ] = ( R7:5 );
422 LSETUP ( m2s , m2e ) LC1 = P0;
423     R0 += 1;
424     R4 += 3;
425     R5 += 5;
426 m2s:R5 += 1;
427     R6 += 2;
428 m2e:[ -- SP ] = ( R7:5 );
430 LSETUP ( m3s , m3e ) LC1 = P0;
431     R0 += 1;
432     R4 += 3;
433     R5 += 5;
434 m3s:R5 += 1;
435     R6 += 2;
436     R7 += 3;
437 m3e:[ -- SP ] = ( R7:5 );
439 LSETUP ( m4s , m4e ) LC1 = P0;
440     R0 += 1;
441     R4 += 3;
442     R5 += 5;
443 m4s:R5 += 1;
444     R6 += 2;
445     R7 += 3;
446     R4 += 4;
447 m4e:[ -- SP ] = ( R7:4 );
449 LSETUP ( m5s , m5e ) LC1 = P0;
450     R0 += 1;
451     R4 += 3;
452     R5 += 5;
453 m5s:R5 += 1;
454     R6 += 2;
455     R7 += 3;
456     R4 += 4;
457     R5 += 3;
458 m5e:[ -- SP ] = ( R7:4 );
460 LSETUP ( m6s , m6e ) LC1 = P0;
461     R0 += 1;
462     R4 += 3;
463     R5 += 5;
464 m6s:R5 += 1;
465     R6 += 2;
466     R7 += 3;
467     R4 += 4;
468     R5 += 3;
469     R7 += 5;
470 m6e:[ -- SP ] = ( R7:4 );
472 NOP;
473 NOP;
474 RTI;
476 .dw 0xFFFF
477 .dw 0xFFFF
478 .dw 0xFFFF
479 .dw 0xFFFF
480 .dw 0xFFFF
481 .dw 0xFFFF
482 .dw 0xFFFF
484 /////////////////////////////////////////////////////////////////////////////
485 ///////////////////////// USER CODE             /////////////////////////////
486 /////////////////////////////////////////////////////////////////////////////
489  USER_CODE :
491 NOP;
492 NOP;
493 NOP;
494 NOP;
495 dbg_pass;        // Call Endtest Macro
497 /////////////////////////////////////////////////////////////////////////////
498 ///////////////////////// DATA MEMRORY          /////////////////////////////
499 /////////////////////////////////////////////////////////////////////////////
501 .section MEM_DATA_ADDR_1 //.data 0x00F00100,"aw"
502 .dd 0xdeadbeef;
503 .section MEM_(DATA_ADDR_1 + 0x100) //.data 0x00F00200,"aw"
504 .dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
505 .dd 0x02020202;
506 .dd 0x03030303;
507 .dd 0x04040404;
509 // Define Kernal Stack
510 .data
511     .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
512      KSTACK :
514     .space (STACKSIZE);
515      USTACK :
517 /////////////////////////////////////////////////////////////////////////////
518 ///////////////////////// END OF TEST           /////////////////////////////
519 /////////////////////////////////////////////////////////////////////////////