1 //Original:/proj/frio/dv/testcases/seq/se_loop_kill/se_loop_kill.dsp
3 # sim: --environment operating
6 .include "testutils.inc"
9 /////////////////////////////////////////////////////////////////////////////
10 ///////////////////////// Include Files /////////////////////////////
11 /////////////////////////////////////////////////////////////////////////////
14 include(selfcheck.inc)
16 /////////////////////////////////////////////////////////////////////////////
17 ///////////////////////// Defines /////////////////////////////
18 /////////////////////////////////////////////////////////////////////////////
20 #ifndef USER_CODE_SPACE
21 #define USER_CODE_SPACE 0x00000500
24 #define STACKSIZE 0x00000010
27 #define ITABLE 0xF0000000
30 #define EVT 0xFFE02000
33 #define EVT_OVERRIDE 0xFFE02100
36 #define IMASK 0xFFE02104
39 #define DMEM_CONTROL 0xFFE00004
42 #define DCPLB_ADDR0 0xFFE00100
45 #define DCPLB_DATA0 0xFFE00200
48 /////////////////////////////////////////////////////////////////////////////
49 ///////////////////////// RESET ISR /////////////////////////////
50 /////////////////////////////////////////////////////////////////////////////
60 // Initialize ILBM Registers
66 // Initialize the Address of the Checkreg data segment
67 // **** THIS IS NEEDED WHENEVER CHECKREG IS USED ****
68 CHECK_INIT(p5, 0x00BFFFFC);
71 LD32_LABEL(sp, USTACK);
75 LD32_LABEL(sp, KSTACK);
77 // Setup Frame Pointer
80 // Setup Event Vector Table
83 LD32_LABEL(r0, EMU_ISR); // Emulation Handler (Int0)
85 LD32_LABEL(r0, RST_ISR); // Reset Handler (Int1)
87 LD32_LABEL(r0, NMI_ISR); // NMI Handler (Int2)
89 LD32_LABEL(r0, EXC_ISR); // Exception Handler (Int3)
91 [ P0 ++ ] = R0; // IVT4 not used
92 LD32_LABEL(r0, HWE_ISR); // HW Error Handler (Int5)
94 LD32_LABEL(r0, TMR_ISR); // Timer Handler (Int6)
96 LD32_LABEL(r0, IGV7_ISR); // IVG7 Handler
98 LD32_LABEL(r0, IGV8_ISR); // IVG8 Handler
100 LD32_LABEL(r0, IGV9_ISR); // IVG9 Handler
102 LD32_LABEL(r0, IGV10_ISR); // IVG10 Handler
104 LD32_LABEL(r0, IGV11_ISR); // IVG11 Handler
106 LD32_LABEL(r0, IGV12_ISR); // IVG12 Handler
108 LD32_LABEL(r0, IGV13_ISR); // IVG13 Handler
110 LD32_LABEL(r0, IGV14_ISR); // IVG14 Handler
112 LD32_LABEL(r0, IGV15_ISR); // IVG15 Handler
115 // Setup the EVT_OVERRIDE MMR
117 LD32(p0, EVT_OVERRIDE);
120 // Setup Interrupt Mask
125 // Return to Supervisor Code
129 LD32_LABEL(r0, USER_CODE);
141 /////////////////////////////////////////////////////////////////////////////
144 /////////////////////////////////////////////////////////////////////////////
145 ///////////////////////// EMU ISR /////////////////////////////
146 /////////////////////////////////////////////////////////////////////////////
160 /////////////////////////////////////////////////////////////////////////////
161 ///////////////////////// NMI ISR /////////////////////////////
162 /////////////////////////////////////////////////////////////////////////////
176 /////////////////////////////////////////////////////////////////////////////
177 ///////////////////////// EXC ISR /////////////////////////////
178 /////////////////////////////////////////////////////////////////////////////
192 /////////////////////////////////////////////////////////////////////////////
193 ///////////////////////// HWE ISR /////////////////////////////
194 /////////////////////////////////////////////////////////////////////////////
208 /////////////////////////////////////////////////////////////////////////////
209 ///////////////////////// TMR ISR /////////////////////////////
210 /////////////////////////////////////////////////////////////////////////////
224 /////////////////////////////////////////////////////////////////////////////
225 ///////////////////////// IGV7 ISR /////////////////////////////
226 /////////////////////////////////////////////////////////////////////////////
240 /////////////////////////////////////////////////////////////////////////////
241 ///////////////////////// IGV8 ISR /////////////////////////////
242 /////////////////////////////////////////////////////////////////////////////
256 /////////////////////////////////////////////////////////////////////////////
257 ///////////////////////// IGV9 ISR /////////////////////////////
258 /////////////////////////////////////////////////////////////////////////////
272 /////////////////////////////////////////////////////////////////////////////
273 ///////////////////////// IGV10 ISR /////////////////////////////
274 /////////////////////////////////////////////////////////////////////////////
288 /////////////////////////////////////////////////////////////////////////////
289 ///////////////////////// IGV11 ISR /////////////////////////////
290 /////////////////////////////////////////////////////////////////////////////
304 /////////////////////////////////////////////////////////////////////////////
305 ///////////////////////// IGV12 ISR /////////////////////////////
306 /////////////////////////////////////////////////////////////////////////////
320 /////////////////////////////////////////////////////////////////////////////
321 ///////////////////////// IGV13 ISR /////////////////////////////
322 /////////////////////////////////////////////////////////////////////////////
336 /////////////////////////////////////////////////////////////////////////////
337 ///////////////////////// IGV14 ISR /////////////////////////////
338 /////////////////////////////////////////////////////////////////////////////
352 /////////////////////////////////////////////////////////////////////////////
353 ///////////////////////// IGV15 ISR /////////////////////////////
354 /////////////////////////////////////////////////////////////////////////////
370 EXCPT 0x5; // Will kill mv2lc in EX3
384 EXCPT 0x5; // Will kill mv2lc in EX3 when stalled
397 EXCPT 0x5; // Will kill mv2lc in EX3 when stalled
410 EXCPT 0x5; // Will kill mv2lc in EX3
420 EXCPT 0x6; // Will kill Lsetup in EX2
423 LSETUP ( l1e , l1e ) LC0 = P1;
426 EXCPT 0x6; // Will kill Lsetup in EX2
429 LSETUP ( m1e , m1e ) LC1 = P1;
432 EXCPT 0x6; // Will kill Lsetup in EX1
436 LSETUP ( l2e , l2e ) LC0 = P1;
439 EXCPT 0x6; // Will kill Lsetup in EX1
443 LSETUP ( m2e , m2e ) LC1 = P1;
450 EXCPT 0x6; // Will kill Lsetup in EX2 when stalled
452 LSETUP ( l3e , l3e ) LC0 = P1;
455 EXCPT 0x6; // Will kill Lsetup in EX2 when stalled
457 LSETUP ( m3e , m3e ) LC1 = P1;
460 EXCPT 0x6; // Will kill Lsetup in EX1 when stalled
463 LSETUP ( l4e , l4e ) LC0 = P1;
466 EXCPT 0x6; // Will kill Lsetup in EX1 when stalled
469 LSETUP ( m4e , m4e ) LC1 = P1;
484 /////////////////////////////////////////////////////////////////////////////
485 ///////////////////////// USER CODE /////////////////////////////
486 /////////////////////////////////////////////////////////////////////////////
495 dbg_pass; // Call Endtest Macro
497 /////////////////////////////////////////////////////////////////////////////
498 ///////////////////////// DATA MEMRORY /////////////////////////////
499 /////////////////////////////////////////////////////////////////////////////
501 .section MEM_0x00F00100,"aw"
503 .section MEM_0x00F00200,"aw"
509 // Define Kernal Stack
510 .section MEM_0x00F00210,"aw"
517 /////////////////////////////////////////////////////////////////////////////
518 ///////////////////////// END OF TEST /////////////////////////////
519 /////////////////////////////////////////////////////////////////////////////