123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422 |
- //Original:/proj/frio/dv/testcases/seq/se_kill_wbbr/se_kill_wbbr.dsp
- # mach: bfin
- # sim: --environment operating
- #include "test.h"
- .include "testutils.inc"
- start
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// Include Files /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- include(std.inc)
- include(selfcheck.inc)
- include(symtable.inc)
- include(mmrs.inc)
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// Defines /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- #ifndef USER_CODE_SPACE
- #define USER_CODE_SPACE CODE_ADDR_1 //
- #endif
- #ifndef STACKSIZE
- #define STACKSIZE 0x00000010
- #endif
- #ifndef ITABLE
- #define ITABLE 0xF0000000
- #endif
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// RESET ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- RST_ISR :
- // Initialize Dregs
- INIT_R_REGS(0);
- // Initialize Pregs
- INIT_P_REGS(0);
- // Initialize ILBM Registers
- INIT_I_REGS(0);
- INIT_M_REGS(0);
- INIT_L_REGS(0);
- INIT_B_REGS(0);
- // Initialize the Address of the Checkreg data segment
- // **** THIS IS NEEDED WHENEVER CHECKREG IS USED ****
- CHECK_INIT_DEF(p5); //CHECK_INIT(p5, 0x00BFFFFC);
- // Setup User Stack
- LD32_LABEL(sp, USTACK);
- USP = SP;
- // Setup Kernel Stack
- LD32_LABEL(sp, KSTACK);
- // Setup Frame Pointer
- FP = SP;
- // Setup Event Vector Table
- LD32(p0, EVT0);
- LD32_LABEL(r0, EMU_ISR); // Emulation Handler (Int0)
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, RST_ISR); // Reset Handler (Int1)
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, NMI_ISR); // NMI Handler (Int2)
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, EXC_ISR); // Exception Handler (Int3)
- [ P0 ++ ] = R0;
- [ P0 ++ ] = R0; // IVT4 not used
- LD32_LABEL(r0, HWE_ISR); // HW Error Handler (Int5)
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, TMR_ISR); // Timer Handler (Int6)
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, IGV7_ISR); // IVG7 Handler
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, IGV8_ISR); // IVG8 Handler
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, IGV9_ISR); // IVG9 Handler
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, IGV10_ISR); // IVG10 Handler
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, IGV11_ISR); // IVG11 Handler
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, IGV12_ISR); // IVG12 Handler
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, IGV13_ISR); // IVG13 Handler
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, IGV14_ISR); // IVG14 Handler
- [ P0 ++ ] = R0;
- LD32_LABEL(r0, IGV15_ISR); // IVG15 Handler
- [ P0 ++ ] = R0;
- // Setup the EVT_OVERRIDE MMR
- R0 = 0;
- LD32(p0, EVT_OVERRIDE);
- [ P0 ] = R0;
- // Setup Interrupt Mask
- R0 = -1;
- LD32(p0, IMASK);
- [ P0 ] = R0;
- // Load RETS
- LD32_LABEL(r0, USER_CODE);
- RETS = R0;
- // Return to Supervisor Code
- RAISE 2;
- RAISE 5;
- RAISE 6;
- RAISE 7;
- RAISE 8;
- RAISE 9;
- RAISE 10;
- RAISE 11;
- RAISE 12;
- RAISE 13;
- RAISE 14;
- RAISE 15;
- NOP;
- LD32_LABEL(r0, USER_CODE);
- RETI = R0;
- RTI;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// EMU ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- EMU_ISR :
- RTE;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// NMI ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- NMI_ISR :
- RTN;
- IF !CC JUMP 2;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// EXC ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- EXC_ISR :
- RTX;
- NOP;
- IF !CC JUMP 2;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// HWE ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- HWE_ISR :
- RTI;
- CSYNC;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// TMR ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- TMR_ISR :
- RTI;
- NOP;
- CSYNC;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// IGV7 ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- IGV7_ISR :
- RTI;
- SSYNC;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// IGV8 ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- IGV8_ISR :
- RTI;
- NOP;
- SSYNC;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// IGV9 ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- IGV9_ISR :
- RTI;
- RTI;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// IGV10 ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- IGV10_ISR :
- RTI;
- NOP;
- RTI;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// IGV11 ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- IGV11_ISR :
- RTI;
- RTN;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// IGV12 ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- IGV12_ISR :
- RTI;
- NOP;
- RTN;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// IGV13 ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- IGV13_ISR :
- RTI;
- RTX;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// IGV14 ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- IGV14_ISR :
- RTI;
- NOP;
- RTX;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// IGV15 ISR /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- IGV15_ISR :
- RTI;
- RTE;
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- .dw 0xFFFF
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// USER CODE /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- USER_CODE :
- EXCPT 0x5;
- NOP;
- NOP;
- NOP;
- NOP;
- dbg_pass; // Call Endtest Macro
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// DATA MEMRORY /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
- .section MEM_DATA_ADDR_2 //.data 0x00F00100,"aw"
- .dd 0xdeadbeef;
- .section MEM_(DATA_ADDR_2 + 0x100) //.data 0x00F00200,"aw"
- .dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
- .dd 0x02020202;
- .dd 0x03030303;
- .dd 0x04040404;
- // Define Kernal Stack
- .section MEM_(DATA_ADDR_2 + 0x110) //.data 0x00F00210,"aw"
- .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
- KSTACK :
- .space (STACKSIZE);
- USTACK :
- /////////////////////////////////////////////////////////////////////////////
- ///////////////////////// END OF TEST /////////////////////////////
- /////////////////////////////////////////////////////////////////////////////
|