Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/seq/se_cof/se_cof.dsp
      2 # mach: bfin
      3 # sim: --environment operating
      4 
      5 #include "test.h"
      6 .include "testutils.inc"
      7 start
      8 
      9 /////////////////////////////////////////////////////////////////////////////
     10 ///////////////////////// Include Files         /////////////////////////////
     11 /////////////////////////////////////////////////////////////////////////////
     12 
     13 include(std.inc)
     14 include(selfcheck.inc)
     15 include(symtable.inc)
     16 include(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           CODE_ADDR_2  //
     30 #endif
     31 
     32 /////////////////////////////////////////////////////////////////////////////
     33 ///////////////////////// RESET ISR             /////////////////////////////
     34 /////////////////////////////////////////////////////////////////////////////
     35 
     36  RST_ISR :
     37 
     38     // Initialize Dregs
     39 INIT_R_REGS(0);
     40 
     41     // Initialize Pregs
     42 INIT_P_REGS(0);
     43 
     44     // Initialize ILBM Registers
     45 INIT_I_REGS(0);
     46 INIT_M_REGS(0);
     47 INIT_L_REGS(0);
     48 INIT_B_REGS(0);
     49 
     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);
     53 
     54     // Setup User Stack
     55 LD32_LABEL(sp, USTACK);
     56 USP = SP;
     57 
     58     // Setup Kernel Stack
     59 LD32_LABEL(sp, KSTACK);
     60 
     61     // Setup Frame Pointer
     62 FP = SP;
     63 
     64     // Setup Event Vector Table
     65 LD32(p0, EVT0);
     66 
     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;
     98 
     99     // Setup the EVT_OVERRIDE MMR
    100     R0 = 0;
    101 LD32(p0, EVT_OVERRIDE);
    102     [ P0 ] = R0;
    103 
    104     // Setup Interrupt Mask
    105     R0 = -1;
    106 LD32(p0, IMASK);
    107     [ P0 ] = R0;
    108 
    109     // Return to Supervisor Code
    110 RAISE 15;
    111 NOP;
    112 
    113 LD32_LABEL(r0, USER_CODE);
    114 RETI = R0;
    115 RTI;
    116 
    117 .dw 0xFFFF
    118 .dw 0xFFFF
    119 .dw 0xFFFF
    120 .dw 0xFFFF
    121 .dw 0xFFFF
    122 .dw 0xFFFF
    123 .dw 0xFFFF
    124 
    125 /////////////////////////////////////////////////////////////////////////////
    126 
    127 
    128 /////////////////////////////////////////////////////////////////////////////
    129 ///////////////////////// EMU ISR               /////////////////////////////
    130 /////////////////////////////////////////////////////////////////////////////
    131 
    132  EMU_ISR :
    133 
    134 RTE;
    135 
    136 .dw 0xFFFF
    137 .dw 0xFFFF
    138 .dw 0xFFFF
    139 .dw 0xFFFF
    140 .dw 0xFFFF
    141 .dw 0xFFFF
    142 .dw 0xFFFF
    143 
    144 /////////////////////////////////////////////////////////////////////////////
    145 ///////////////////////// NMI ISR               /////////////////////////////
    146 /////////////////////////////////////////////////////////////////////////////
    147 
    148  NMI_ISR :
    149 
    150 RTN;
    151 
    152 .dw 0xFFFF
    153 .dw 0xFFFF
    154 .dw 0xFFFF
    155 .dw 0xFFFF
    156 .dw 0xFFFF
    157 .dw 0xFFFF
    158 .dw 0xFFFF
    159 
    160 /////////////////////////////////////////////////////////////////////////////
    161 ///////////////////////// EXC ISR               /////////////////////////////
    162 /////////////////////////////////////////////////////////////////////////////
    163 
    164  EXC_ISR :
    165 
    166 RTX;
    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 ///////////////////////// HWE ISR               /////////////////////////////
    178 /////////////////////////////////////////////////////////////////////////////
    179 
    180  HWE_ISR :
    181 
    182 RTI;
    183 
    184 .dw 0xFFFF
    185 .dw 0xFFFF
    186 .dw 0xFFFF
    187 .dw 0xFFFF
    188 .dw 0xFFFF
    189 .dw 0xFFFF
    190 .dw 0xFFFF
    191 
    192 /////////////////////////////////////////////////////////////////////////////
    193 ///////////////////////// TMR ISR               /////////////////////////////
    194 /////////////////////////////////////////////////////////////////////////////
    195 
    196  TMR_ISR :
    197 
    198 RTI;
    199 
    200 .dw 0xFFFF
    201 .dw 0xFFFF
    202 .dw 0xFFFF
    203 .dw 0xFFFF
    204 .dw 0xFFFF
    205 .dw 0xFFFF
    206 .dw 0xFFFF
    207 
    208 /////////////////////////////////////////////////////////////////////////////
    209 ///////////////////////// IGV7 ISR              /////////////////////////////
    210 /////////////////////////////////////////////////////////////////////////////
    211 
    212  IGV7_ISR :
    213 
    214 RTI;
    215 
    216 .dw 0xFFFF
    217 .dw 0xFFFF
    218 .dw 0xFFFF
    219 .dw 0xFFFF
    220 .dw 0xFFFF
    221 .dw 0xFFFF
    222 .dw 0xFFFF
    223 
    224 /////////////////////////////////////////////////////////////////////////////
    225 ///////////////////////// IGV8 ISR              /////////////////////////////
    226 /////////////////////////////////////////////////////////////////////////////
    227 
    228  IGV8_ISR :
    229 
    230 RTI;
    231 
    232 .dw 0xFFFF
    233 .dw 0xFFFF
    234 .dw 0xFFFF
    235 .dw 0xFFFF
    236 .dw 0xFFFF
    237 .dw 0xFFFF
    238 .dw 0xFFFF
    239 
    240 /////////////////////////////////////////////////////////////////////////////
    241 ///////////////////////// IGV9 ISR              /////////////////////////////
    242 /////////////////////////////////////////////////////////////////////////////
    243 
    244  IGV9_ISR :
    245 
    246 RTI;
    247 
    248 .dw 0xFFFF
    249 .dw 0xFFFF
    250 .dw 0xFFFF
    251 .dw 0xFFFF
    252 .dw 0xFFFF
    253 .dw 0xFFFF
    254 .dw 0xFFFF
    255 
    256 /////////////////////////////////////////////////////////////////////////////
    257 ///////////////////////// IGV10 ISR             /////////////////////////////
    258 /////////////////////////////////////////////////////////////////////////////
    259 
    260  IGV10_ISR :
    261 
    262 RTI;
    263 
    264 .dw 0xFFFF
    265 .dw 0xFFFF
    266 .dw 0xFFFF
    267 .dw 0xFFFF
    268 .dw 0xFFFF
    269 .dw 0xFFFF
    270 .dw 0xFFFF
    271 
    272 /////////////////////////////////////////////////////////////////////////////
    273 ///////////////////////// IGV11 ISR             /////////////////////////////
    274 /////////////////////////////////////////////////////////////////////////////
    275 
    276  IGV11_ISR :
    277 
    278 RTI;
    279 
    280 .dw 0xFFFF
    281 .dw 0xFFFF
    282 .dw 0xFFFF
    283 .dw 0xFFFF
    284 .dw 0xFFFF
    285 .dw 0xFFFF
    286 .dw 0xFFFF
    287 
    288 /////////////////////////////////////////////////////////////////////////////
    289 ///////////////////////// IGV12 ISR             /////////////////////////////
    290 /////////////////////////////////////////////////////////////////////////////
    291 
    292  IGV12_ISR :
    293 
    294 RTI;
    295 
    296 .dw 0xFFFF
    297 .dw 0xFFFF
    298 .dw 0xFFFF
    299 .dw 0xFFFF
    300 .dw 0xFFFF
    301 .dw 0xFFFF
    302 .dw 0xFFFF
    303 
    304 /////////////////////////////////////////////////////////////////////////////
    305 ///////////////////////// IGV13 ISR             /////////////////////////////
    306 /////////////////////////////////////////////////////////////////////////////
    307 
    308  IGV13_ISR :
    309 
    310 RTI;
    311 
    312 .dw 0xFFFF
    313 .dw 0xFFFF
    314 .dw 0xFFFF
    315 .dw 0xFFFF
    316 .dw 0xFFFF
    317 .dw 0xFFFF
    318 .dw 0xFFFF
    319 
    320 /////////////////////////////////////////////////////////////////////////////
    321 ///////////////////////// IGV14 ISR             /////////////////////////////
    322 /////////////////////////////////////////////////////////////////////////////
    323 
    324  IGV14_ISR :
    325 
    326 RTI;
    327 
    328 .dw 0xFFFF
    329 .dw 0xFFFF
    330 .dw 0xFFFF
    331 .dw 0xFFFF
    332 .dw 0xFFFF
    333 .dw 0xFFFF
    334 .dw 0xFFFF
    335 
    336 /////////////////////////////////////////////////////////////////////////////
    337 ///////////////////////// IGV15 ISR             /////////////////////////////
    338 /////////////////////////////////////////////////////////////////////////////
    339 
    340  IGV15_ISR :
    341 
    342 NOP;
    343     //lz(p0) = 0x0004;
    344     //h(p0)  = 0xffe0;
    345 LD32(p0, DMEM_CONTROL);
    346 CSYNC;
    347     R0 = [ P0 ];  // MMR load will Stall
    348 JUMP.S lab1;  // Branch in EX1
    349 
    350 
    351 NOP;
    352 NOP;
    353 NOP;
    354 NOP;
    355 NOP;
    356 NOP;
    357 NOP;
    358 NOP;
    359 NOP;
    360 NOP;
    361 NOP;
    362 NOP;
    363 NOP;
    364 NOP;
    365 NOP;
    366 NOP;
    367 
    368 lab1:
    369     [ -- SP ] = ( R7:3 );
    370 IF !CC JUMP 2;      // Mispredicted branch;
    371 NOP;
    372 JUMP.S lab2;  // Branch in EX1
    373 NOP;
    374 NOP;
    375 NOP;
    376 NOP;
    377 
    378 lab2:
    379 RTI;
    380 
    381 .dw 0xFFFF
    382 .dw 0xFFFF
    383 .dw 0xFFFF
    384 .dw 0xFFFF
    385 .dw 0xFFFF
    386 .dw 0xFFFF
    387 .dw 0xFFFF
    388 
    389 /////////////////////////////////////////////////////////////////////////////
    390 ///////////////////////// USER CODE             /////////////////////////////
    391 /////////////////////////////////////////////////////////////////////////////
    392 
    393 
    394  USER_CODE :
    395 
    396 NOP;
    397 NOP;
    398 NOP;
    399 NOP;
    400 dbg_pass;        // Call Endtest Macro
    401 
    402 /////////////////////////////////////////////////////////////////////////////
    403 ///////////////////////// DATA MEMRORY          /////////////////////////////
    404 /////////////////////////////////////////////////////////////////////////////
    405 
    406 .section MEM_DATA_ADDR_3 //.data 0x00F00100,"aw"
    407 .dd 0xdeadbeef;
    408 .section MEM_(DATA_ADDR_3 + 0x100) //.data 0x00F00200,"aw"
    409 .dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
    410 .dd 0x02020202;
    411 .dd 0x03030303;
    412 .dd 0x04040404;
    413 
    414 // Define Kernal Stack
    415 .data
    416     .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
    417      KSTACK :
    418 
    419     .space (STACKSIZE);
    420      USTACK :
    421 
    422 /////////////////////////////////////////////////////////////////////////////
    423 ///////////////////////// END OF TEST           /////////////////////////////
    424 /////////////////////////////////////////////////////////////////////////////
    425