1//Original:/proj/frio/dv/testcases/seq/se_kill_wbbr/se_kill_wbbr.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           0xF0000000
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    // Load RETS
110LD32_LABEL(r0, USER_CODE);
111RETS = R0;
112
113    // Return to Supervisor Code
114RAISE 2;
115RAISE 5;
116RAISE 6;
117RAISE 7;
118RAISE 8;
119RAISE 9;
120RAISE 10;
121RAISE 11;
122RAISE 12;
123RAISE 13;
124RAISE 14;
125RAISE 15;
126NOP;
127
128LD32_LABEL(r0, USER_CODE);
129RETI = R0;
130RTI;
131
132.dw 0xFFFF
133.dw 0xFFFF
134.dw 0xFFFF
135.dw 0xFFFF
136.dw 0xFFFF
137.dw 0xFFFF
138.dw 0xFFFF
139
140/////////////////////////////////////////////////////////////////////////////
141
142
143/////////////////////////////////////////////////////////////////////////////
144///////////////////////// EMU ISR               /////////////////////////////
145/////////////////////////////////////////////////////////////////////////////
146
147 EMU_ISR :
148
149RTE;
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///////////////////////// NMI ISR               /////////////////////////////
161/////////////////////////////////////////////////////////////////////////////
162
163 NMI_ISR :
164
165RTN;
166IF !CC JUMP 2;
167
168.dw 0xFFFF
169.dw 0xFFFF
170.dw 0xFFFF
171.dw 0xFFFF
172.dw 0xFFFF
173.dw 0xFFFF
174.dw 0xFFFF
175
176/////////////////////////////////////////////////////////////////////////////
177///////////////////////// EXC ISR               /////////////////////////////
178/////////////////////////////////////////////////////////////////////////////
179
180 EXC_ISR :
181
182RTX;
183NOP;
184IF !CC JUMP 2;
185
186.dw 0xFFFF
187.dw 0xFFFF
188.dw 0xFFFF
189.dw 0xFFFF
190.dw 0xFFFF
191.dw 0xFFFF
192.dw 0xFFFF
193
194/////////////////////////////////////////////////////////////////////////////
195///////////////////////// HWE ISR               /////////////////////////////
196/////////////////////////////////////////////////////////////////////////////
197
198 HWE_ISR :
199
200RTI;
201CSYNC;
202
203.dw 0xFFFF
204.dw 0xFFFF
205.dw 0xFFFF
206.dw 0xFFFF
207.dw 0xFFFF
208.dw 0xFFFF
209.dw 0xFFFF
210
211/////////////////////////////////////////////////////////////////////////////
212///////////////////////// TMR ISR               /////////////////////////////
213/////////////////////////////////////////////////////////////////////////////
214
215 TMR_ISR :
216
217RTI;
218NOP;
219CSYNC;
220
221.dw 0xFFFF
222.dw 0xFFFF
223.dw 0xFFFF
224.dw 0xFFFF
225.dw 0xFFFF
226.dw 0xFFFF
227.dw 0xFFFF
228
229/////////////////////////////////////////////////////////////////////////////
230///////////////////////// IGV7 ISR              /////////////////////////////
231/////////////////////////////////////////////////////////////////////////////
232
233 IGV7_ISR :
234
235RTI;
236SSYNC;
237
238.dw 0xFFFF
239.dw 0xFFFF
240.dw 0xFFFF
241.dw 0xFFFF
242.dw 0xFFFF
243.dw 0xFFFF
244.dw 0xFFFF
245
246/////////////////////////////////////////////////////////////////////////////
247///////////////////////// IGV8 ISR              /////////////////////////////
248/////////////////////////////////////////////////////////////////////////////
249
250 IGV8_ISR :
251
252RTI;
253NOP;
254SSYNC;
255
256.dw 0xFFFF
257.dw 0xFFFF
258.dw 0xFFFF
259.dw 0xFFFF
260.dw 0xFFFF
261.dw 0xFFFF
262.dw 0xFFFF
263
264/////////////////////////////////////////////////////////////////////////////
265///////////////////////// IGV9 ISR              /////////////////////////////
266/////////////////////////////////////////////////////////////////////////////
267
268 IGV9_ISR :
269
270RTI;
271RTI;
272
273.dw 0xFFFF
274.dw 0xFFFF
275.dw 0xFFFF
276.dw 0xFFFF
277.dw 0xFFFF
278.dw 0xFFFF
279.dw 0xFFFF
280
281/////////////////////////////////////////////////////////////////////////////
282///////////////////////// IGV10 ISR             /////////////////////////////
283/////////////////////////////////////////////////////////////////////////////
284
285 IGV10_ISR :
286
287RTI;
288NOP;
289RTI;
290
291.dw 0xFFFF
292.dw 0xFFFF
293.dw 0xFFFF
294.dw 0xFFFF
295.dw 0xFFFF
296.dw 0xFFFF
297.dw 0xFFFF
298
299/////////////////////////////////////////////////////////////////////////////
300///////////////////////// IGV11 ISR             /////////////////////////////
301/////////////////////////////////////////////////////////////////////////////
302
303 IGV11_ISR :
304
305RTI;
306RTN;
307
308.dw 0xFFFF
309.dw 0xFFFF
310.dw 0xFFFF
311.dw 0xFFFF
312.dw 0xFFFF
313.dw 0xFFFF
314.dw 0xFFFF
315
316/////////////////////////////////////////////////////////////////////////////
317///////////////////////// IGV12 ISR             /////////////////////////////
318/////////////////////////////////////////////////////////////////////////////
319
320 IGV12_ISR :
321
322RTI;
323NOP;
324RTN;
325
326.dw 0xFFFF
327.dw 0xFFFF
328.dw 0xFFFF
329.dw 0xFFFF
330.dw 0xFFFF
331.dw 0xFFFF
332.dw 0xFFFF
333
334/////////////////////////////////////////////////////////////////////////////
335///////////////////////// IGV13 ISR             /////////////////////////////
336/////////////////////////////////////////////////////////////////////////////
337
338 IGV13_ISR :
339
340RTI;
341RTX;
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///////////////////////// IGV14 ISR             /////////////////////////////
353/////////////////////////////////////////////////////////////////////////////
354
355 IGV14_ISR :
356
357RTI;
358NOP;
359RTX;
360
361.dw 0xFFFF
362.dw 0xFFFF
363.dw 0xFFFF
364.dw 0xFFFF
365.dw 0xFFFF
366.dw 0xFFFF
367.dw 0xFFFF
368
369/////////////////////////////////////////////////////////////////////////////
370///////////////////////// IGV15 ISR             /////////////////////////////
371/////////////////////////////////////////////////////////////////////////////
372
373 IGV15_ISR :
374
375RTI;
376RTE;
377
378.dw 0xFFFF
379.dw 0xFFFF
380.dw 0xFFFF
381.dw 0xFFFF
382.dw 0xFFFF
383.dw 0xFFFF
384.dw 0xFFFF
385
386/////////////////////////////////////////////////////////////////////////////
387///////////////////////// USER CODE             /////////////////////////////
388/////////////////////////////////////////////////////////////////////////////
389
390
391 USER_CODE :
392
393EXCPT 0x5;
394NOP;
395NOP;
396NOP;
397NOP;
398dbg_pass;        // Call Endtest Macro
399
400/////////////////////////////////////////////////////////////////////////////
401///////////////////////// DATA MEMRORY          /////////////////////////////
402/////////////////////////////////////////////////////////////////////////////
403
404.section MEM_DATA_ADDR_2 //.data 0x00F00100,"aw"
405.dd 0xdeadbeef;
406.section MEM_(DATA_ADDR_2 + 0x100) //.data 0x00F00200,"aw"
407.dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
408.dd 0x02020202;
409.dd 0x03030303;
410.dd 0x04040404;
411
412// Define Kernal Stack
413.section MEM_(DATA_ADDR_2 + 0x110) //.data 0x00F00210,"aw"
414    .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
415     KSTACK :
416
417    .space (STACKSIZE);
418     USTACK :
419
420/////////////////////////////////////////////////////////////////////////////
421///////////////////////// END OF TEST           /////////////////////////////
422/////////////////////////////////////////////////////////////////////////////
423