//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;