1 //Original:/proj/frio/dv/testcases/seq/se_lsetup_kill/se_lsetup_kill.dsp
3 # sim: --environment operating
6 .include "testutils.inc"
9 /////////////////////////////////////////////////////////////////////////////
10 ///////////////////////// Include Files /////////////////////////////
11 /////////////////////////////////////////////////////////////////////////////
14 include(selfcheck.inc)
18 /////////////////////////////////////////////////////////////////////////////
19 ///////////////////////// Defines /////////////////////////////
20 /////////////////////////////////////////////////////////////////////////////
22 #ifndef USER_CODE_SPACE
23 #define USER_CODE_SPACE CODE_ADDR_1 //
26 #define STACKSIZE 0x00000010
29 #define ITABLE CODE_ADDR_2 //
32 /////////////////////////////////////////////////////////////////////////////
33 ///////////////////////// RESET ISR /////////////////////////////
34 /////////////////////////////////////////////////////////////////////////////
44 // Initialize ILBM Registers
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);
55 LD32_LABEL(sp, USTACK);
59 LD32_LABEL(sp, KSTACK);
61 // Setup Frame Pointer
64 // Setup Event Vector Table
67 LD32_LABEL(r0, EMU_ISR); // Emulation Handler (Int0)
69 LD32_LABEL(r0, RST_ISR); // Reset Handler (Int1)
71 LD32_LABEL(r0, NMI_ISR); // NMI Handler (Int2)
73 LD32_LABEL(r0, EXC_ISR); // Exception Handler (Int3)
75 [ P0 ++ ] = R0; // IVT4 not used
76 LD32_LABEL(r0, HWE_ISR); // HW Error Handler (Int5)
78 LD32_LABEL(r0, TMR_ISR); // Timer Handler (Int6)
80 LD32_LABEL(r0, IGV7_ISR); // IVG7 Handler
82 LD32_LABEL(r0, IGV8_ISR); // IVG8 Handler
84 LD32_LABEL(r0, IGV9_ISR); // IVG9 Handler
86 LD32_LABEL(r0, IGV10_ISR); // IVG10 Handler
88 LD32_LABEL(r0, IGV11_ISR); // IVG11 Handler
90 LD32_LABEL(r0, IGV12_ISR); // IVG12 Handler
92 LD32_LABEL(r0, IGV13_ISR); // IVG13 Handler
94 LD32_LABEL(r0, IGV14_ISR); // IVG14 Handler
96 LD32_LABEL(r0, IGV15_ISR); // IVG15 Handler
99 // Setup the EVT_OVERRIDE MMR
101 LD32(p0, EVT_OVERRIDE);
104 // Setup Interrupt Mask
109 // Return to Supervisor Code
113 LD32_LABEL(r0, USER_CODE);
125 /////////////////////////////////////////////////////////////////////////////
128 /////////////////////////////////////////////////////////////////////////////
129 ///////////////////////// EMU ISR /////////////////////////////
130 /////////////////////////////////////////////////////////////////////////////
144 /////////////////////////////////////////////////////////////////////////////
145 ///////////////////////// NMI ISR /////////////////////////////
146 /////////////////////////////////////////////////////////////////////////////
160 /////////////////////////////////////////////////////////////////////////////
161 ///////////////////////// EXC ISR /////////////////////////////
162 /////////////////////////////////////////////////////////////////////////////
176 /////////////////////////////////////////////////////////////////////////////
177 ///////////////////////// HWE ISR /////////////////////////////
178 /////////////////////////////////////////////////////////////////////////////
192 /////////////////////////////////////////////////////////////////////////////
193 ///////////////////////// TMR ISR /////////////////////////////
194 /////////////////////////////////////////////////////////////////////////////
208 /////////////////////////////////////////////////////////////////////////////
209 ///////////////////////// IGV7 ISR /////////////////////////////
210 /////////////////////////////////////////////////////////////////////////////
224 /////////////////////////////////////////////////////////////////////////////
225 ///////////////////////// IGV8 ISR /////////////////////////////
226 /////////////////////////////////////////////////////////////////////////////
240 /////////////////////////////////////////////////////////////////////////////
241 ///////////////////////// IGV9 ISR /////////////////////////////
242 /////////////////////////////////////////////////////////////////////////////
256 /////////////////////////////////////////////////////////////////////////////
257 ///////////////////////// IGV10 ISR /////////////////////////////
258 /////////////////////////////////////////////////////////////////////////////
272 /////////////////////////////////////////////////////////////////////////////
273 ///////////////////////// IGV11 ISR /////////////////////////////
274 /////////////////////////////////////////////////////////////////////////////
288 /////////////////////////////////////////////////////////////////////////////
289 ///////////////////////// IGV12 ISR /////////////////////////////
290 /////////////////////////////////////////////////////////////////////////////
304 /////////////////////////////////////////////////////////////////////////////
305 ///////////////////////// IGV13 ISR /////////////////////////////
306 /////////////////////////////////////////////////////////////////////////////
320 /////////////////////////////////////////////////////////////////////////////
321 ///////////////////////// IGV14 ISR /////////////////////////////
322 /////////////////////////////////////////////////////////////////////////////
336 /////////////////////////////////////////////////////////////////////////////
337 ///////////////////////// IGV15 ISR /////////////////////////////
338 /////////////////////////////////////////////////////////////////////////////
357 /////////////////////////////////////////////////////////////////////////////
358 ///////////////////////// USER CODE /////////////////////////////
359 /////////////////////////////////////////////////////////////////////////////
364 /////////////////////////////////////////////////////////////////////////////
365 // Loop 0 (Kill Lsetup in WB)
366 /////////////////////////////////////////////////////////////////////////////
369 LSETUP ( L0T , L0T ) LC0 = P0;
373 LSETUP ( L1T , L1B ) LC0 = P0;
378 LSETUP ( L2T , L2B ) LC0 = P0;
384 LSETUP ( L3T , L3B ) LC0 = P0;
391 LSETUP ( L4T , L4B ) LC0 = P0;
398 /////////////////////////////////////////////////////////////////////////////
399 // Loop 1 (Kill Lsetup in WB)
400 /////////////////////////////////////////////////////////////////////////////
403 LSETUP ( M0T , M0T ) LC1 = P0;
407 LSETUP ( M1T , M1B ) LC1 = P0;
412 LSETUP ( M2T , M2B ) LC1 = P0;
418 LSETUP ( M3T , M3B ) LC1 = P0;
425 LSETUP ( M4T , M4B ) LC1 = P0;
432 /////////////////////////////////////////////////////////////////////////////
433 // Loop 0 (Kill during the last iteration at each pipe stage)
434 /////////////////////////////////////////////////////////////////////////////
436 LSETUP ( N0T , N0B ) LC0 = P1;
440 IF !CC JUMP N0B (BP);
446 LSETUP ( N1T , N1B ) LC0 = P1;
452 IF !CC JUMP N1B (BP);
456 LSETUP ( N2T , N2B ) LC0 = P1;
460 IF !CC JUMP N2B (BP);
467 LSETUP ( N3T , N3B ) LC0 = P1;
473 IF !CC JUMP N3B (BP);
478 LSETUP ( N4T , N4B ) LC0 = P1;
482 IF !CC JUMP N4B (BP);
490 LSETUP ( N5T , N5B ) LC0 = P1;
496 IF !CC JUMP N5B (BP);
502 LSETUP ( N6T , N6B ) LC0 = P1;
506 IF !CC JUMP N6B (BP);
515 LSETUP ( N7T , N7B ) LC0 = P1;
521 IF !CC JUMP N7B (BP);
528 LSETUP ( N8T , N8B ) LC0 = P1;
532 IF !CC JUMP N8B (BP);
542 LSETUP ( N9T , N9B ) LC0 = P1;
548 IF !CC JUMP N9B (BP);
556 LSETUP ( NAT , NAB ) LC0 = P1;
561 IF !CC JUMP NAB (BP);
573 LSETUP ( NBT , NBB ) LC0 = P1;
580 IF !CC JUMP NBB (BP);
591 /////////////////////////////////////////////////////////////////////////////
592 // Loop 1 (Kill during the last iteration at each pipe stage)
593 /////////////////////////////////////////////////////////////////////////////
595 LSETUP ( O0T , O0B ) LC1 = P1;
599 IF !CC JUMP O0B (BP);
605 LSETUP ( O1T , O1B ) LC1 = P1;
611 IF !CC JUMP O1B (BP);
615 LSETUP ( O2T , O2B ) LC1 = P1;
619 IF !CC JUMP O2B (BP);
626 LSETUP ( O3T , O3B ) LC1 = P1;
632 IF !CC JUMP O3B (BP);
637 LSETUP ( O4T , O4B ) LC1 = P1;
641 IF !CC JUMP O4B (BP);
649 LSETUP ( O5T , O5B ) LC1 = P1;
655 IF !CC JUMP O5B (BP);
661 LSETUP ( O6T , O6B ) LC1 = P1;
665 IF !CC JUMP O6B (BP);
674 LSETUP ( O7T , O7B ) LC1 = P1;
680 IF !CC JUMP O7B (BP);
687 LSETUP ( O8T , O8B ) LC1 = P1;
691 IF !CC JUMP O8B (BP);
701 LSETUP ( O9T , O9B ) LC1 = P1;
707 IF !CC JUMP O9B (BP);
715 LSETUP ( OAT , OAB ) LC1 = P1;
720 IF !CC JUMP OAB (BP);
732 LSETUP ( OBT , OBB ) LC1 = P1;
739 IF !CC JUMP OBB (BP);
752 dbg_pass; // Call Endtest Macro
754 /////////////////////////////////////////////////////////////////////////////
755 ///////////////////////// DATA MEMRORY /////////////////////////////
756 /////////////////////////////////////////////////////////////////////////////
758 .section MEM_DATA_ADDR_1 //.data 0x00F00100,"aw"
760 .section MEM_(DATA_ADDR_1 + 0x100) //.data 0x00F00200,"aw"
761 .dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
766 // Define Kernal Stack
768 .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
774 /////////////////////////////////////////////////////////////////////////////
775 ///////////////////////// END OF TEST /////////////////////////////
776 /////////////////////////////////////////////////////////////////////////////