| //Original:/proj/frio/dv/testcases/seq/se_ssync/se_ssync.dsp |
| // Description: Test SSYNC by writing a bunch of MMRs and verifying read |
| # mach: bfin |
| # sim: --environment operating |
| |
| #include "test.h" |
| .include "testutils.inc" |
| start |
| |
| // |
| // Constants and Defines |
| // |
| |
| include(selfcheck.inc) |
| include(std.inc) |
| include(mmrs.inc) |
| include(symtable.inc) |
| |
| #ifndef STACKSIZE |
| #define STACKSIZE 0x10 // change for how much stack you need |
| #endif |
| |
| LD32(p0, EVT5); |
| LD32(r0, 0x55555555); |
| LD32(p1, EVT6); |
| LD32(r1, 0xAAAAAAAA); |
| LD32(p2, EVT7); |
| LD32(r2, 0xBABEFACE); |
| LD32(p3, EVT8); |
| LD32(r3, 0xCFCFCFCF); |
| LD32(p4, EVT9); |
| LD32(r4, 0xDEADBEEF); |
| LD32(p5, EVT10); |
| LD32(r5, 0xBAD1BAD1); |
| |
| [ P0 ] = R0; // write the MMRS |
| [ P1 ] = R1; |
| [ P2 ] = R2; |
| [ P3 ] = R3; |
| [ P4 ] = R4; |
| [ P5 ] = R5; |
| |
| SSYNC; // wait for it |
| |
| R7 = [ P5 ]; // read back MMRs |
| R6 = [ P4 ]; // should be updated |
| R5 = [ P3 ]; |
| R4 = [ P2 ]; |
| R3 = [ P1 ]; |
| R2 = [ P0 ]; |
| |
| CHECK_INIT_DEF(p0); //CHECK_INIT(p0, 0xFF7FFFFC); |
| |
| CHECKREG(r2, 0x55555555); |
| CHECKREG(r3, 0xAAAAAAAA); |
| CHECKREG(r4, 0xBABEFACE); |
| CHECKREG(r5, 0xCFCFCFCF); |
| CHECKREG(r6, 0xDEADBEEF); |
| CHECKREG(r7, 0xBAD1BAD1); |
| |
| dbg_pass; |