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