Home | History | Annotate | Line # | Download | only in bfin
      1 //Original:/proj/frio/dv/testcases/seq/se_loop_ppm_1/se_loop_ppm_1.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     P0 = 0x5 (Z);
    343 
    344 LSETUP ( l0s , l0s ) LC0 = P0;
    345     R0 += 1;
    346     R4 += 3;
    347     R5 += 5;
    348 l0s:[ -- SP ] = ( R7:5 );
    349 
    350 LSETUP ( l1s , l1e ) LC0 = P0;
    351     R0 += 1;
    352     R4 += 3;
    353     R5 += 5;
    354 l1s:R5 += 1;
    355 l1e:[ -- SP ] = ( R7:5 );
    356 
    357 LSETUP ( l2s , l2e ) LC0 = P0;
    358     R0 += 1;
    359     R4 += 3;
    360     R5 += 5;
    361 l2s:R5 += 1;
    362     R6 += 2;
    363 l2e:[ -- SP ] = ( R7:5 );
    364 
    365 LSETUP ( l3s , l3e ) LC0 = P0;
    366     R0 += 1;
    367     R4 += 3;
    368     R5 += 5;
    369 l3s:R5 += 1;
    370     R6 += 2;
    371     R7 += 3;
    372 l3e:[ -- SP ] = ( R7:5 );
    373 
    374 LSETUP ( l4s , l4e ) LC0 = P0;
    375     R0 += 1;
    376     R4 += 3;
    377     R5 += 5;
    378 l4s:R5 += 1;
    379     R6 += 2;
    380     R7 += 3;
    381     R4 += 4;
    382 l4e:[ -- SP ] = ( R7:4 );
    383 
    384 LSETUP ( l5s , l5e ) LC0 = P0;
    385     R0 += 1;
    386     R4 += 3;
    387     R5 += 5;
    388 l5s:R5 += 1;
    389     R6 += 2;
    390     R7 += 3;
    391     R4 += 4;
    392     R5 += 3;
    393 l5e:[ -- SP ] = ( R7:4 );
    394 
    395 LSETUP ( l6s , l6e ) LC1 = P0;
    396     R0 += 1;
    397     R4 += 3;
    398     R5 += 5;
    399 l6s:R5 += 1;
    400     R6 += 2;
    401     R7 += 3;
    402     R4 += 4;
    403     R5 += 3;
    404     R7 += 5;
    405 l6e:[ -- SP ] = ( R7:4 );
    406 
    407 NOP;
    408 
    409 LSETUP ( m0s , m0s ) LC1 = P0;
    410     R0 += 1;
    411     R4 += 3;
    412     R5 += 5;
    413 m0s:[ -- SP ] = ( R7:5 );
    414 
    415 LSETUP ( m1s , m1e ) LC1 = P0;
    416     R0 += 1;
    417     R4 += 3;
    418     R5 += 5;
    419 m1s:R5 += 1;
    420 m1e:[ -- SP ] = ( R7:5 );
    421 
    422 LSETUP ( m2s , m2e ) LC1 = P0;
    423     R0 += 1;
    424     R4 += 3;
    425     R5 += 5;
    426 m2s:R5 += 1;
    427     R6 += 2;
    428 m2e:[ -- SP ] = ( R7:5 );
    429 
    430 LSETUP ( m3s , m3e ) LC1 = P0;
    431     R0 += 1;
    432     R4 += 3;
    433     R5 += 5;
    434 m3s:R5 += 1;
    435     R6 += 2;
    436     R7 += 3;
    437 m3e:[ -- SP ] = ( R7:5 );
    438 
    439 LSETUP ( m4s , m4e ) LC1 = P0;
    440     R0 += 1;
    441     R4 += 3;
    442     R5 += 5;
    443 m4s:R5 += 1;
    444     R6 += 2;
    445     R7 += 3;
    446     R4 += 4;
    447 m4e:[ -- SP ] = ( R7:4 );
    448 
    449 LSETUP ( m5s , m5e ) LC1 = P0;
    450     R0 += 1;
    451     R4 += 3;
    452     R5 += 5;
    453 m5s:R5 += 1;
    454     R6 += 2;
    455     R7 += 3;
    456     R4 += 4;
    457     R5 += 3;
    458 m5e:[ -- SP ] = ( R7:4 );
    459 
    460 LSETUP ( m6s , m6e ) LC1 = P0;
    461     R0 += 1;
    462     R4 += 3;
    463     R5 += 5;
    464 m6s:R5 += 1;
    465     R6 += 2;
    466     R7 += 3;
    467     R4 += 4;
    468     R5 += 3;
    469     R7 += 5;
    470 m6e:[ -- SP ] = ( R7:4 );
    471 
    472 NOP;
    473 NOP;
    474 RTI;
    475 
    476 .dw 0xFFFF
    477 .dw 0xFFFF
    478 .dw 0xFFFF
    479 .dw 0xFFFF
    480 .dw 0xFFFF
    481 .dw 0xFFFF
    482 .dw 0xFFFF
    483 
    484 /////////////////////////////////////////////////////////////////////////////
    485 ///////////////////////// USER CODE             /////////////////////////////
    486 /////////////////////////////////////////////////////////////////////////////
    487 
    488 
    489  USER_CODE :
    490 
    491 NOP;
    492 NOP;
    493 NOP;
    494 NOP;
    495 dbg_pass;        // Call Endtest Macro
    496 
    497 /////////////////////////////////////////////////////////////////////////////
    498 ///////////////////////// DATA MEMRORY          /////////////////////////////
    499 /////////////////////////////////////////////////////////////////////////////
    500 
    501 .section MEM_DATA_ADDR_1 //.data 0x00F00100,"aw"
    502 .dd 0xdeadbeef;
    503 .section MEM_(DATA_ADDR_1 + 0x100) //.data 0x00F00200,"aw"
    504 .dd 0x01010101; //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
    505 .dd 0x02020202;
    506 .dd 0x03030303;
    507 .dd 0x04040404;
    508 
    509 // Define Kernal Stack
    510 .data
    511     .space (STACKSIZE); //<< WARNING: LINE MAY NEED MANUAL TRANSLATION >>
    512      KSTACK :
    513 
    514     .space (STACKSIZE);
    515      USTACK :
    516 
    517 /////////////////////////////////////////////////////////////////////////////
    518 ///////////////////////// END OF TEST           /////////////////////////////
    519 /////////////////////////////////////////////////////////////////////////////
    520